微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

os.chdir 不改变目录

如何解决os.chdir 不改变目录

当我要求观看电视节目时,它会列出我可以观看的电视节目,但是当我要求进入所选电视节目以播放该季节时,它似乎没有chdir。我得到它打印它理解的内容,这是正确的。它实际上并没有更改为新目录。

我的代码如下(understand = 语音转文字):

def entertain():
    if 'tv show' in understand:
        tv_show = os.listdir('D:\\TV_Shows')
        speak('tv shows you have available are {0}'.format(tv_show))
        print(tv_show)
        speak("what show would you like ")
        if understand == tv_show:
            changed = os.chdir('D:\\TV_Shows\\' + understand)
            tv_show = os.listdir(changed)
            print(tv_show)
    else:
        if 'Movie' in understand:
            movie = os.listdir('D\\movies')
            print(movie)

while True:
    understand = take_command().lower()
    if 'i want to watch a' in understand:
        entertain()

解决方法

changed = os.chdir('D:\\TV_Shows\\' + understand)
tv_show = os.listdir(changed)

chdir 不返回任何内容。如果失败,则会引发异常。没有例外意味着它成功了。此代码设置 changed = None,然后调用 os.listdir(None)

试试这个:

os.chdir('D:\\TV_Shows\\' + understand)
tv_shows = os.listdir()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。