python - 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()
推荐阅读
- linux - .NET Core Web API 更改默认端口 (5000)
- google-sheets - 带有 TEXTJOIN 的 ArrayFormula - 在同一行/单元格上合并两列的数据
- javascript - 添加新选项卡时,Angular Element 在 mat-tab-group 上被破坏
- elasticsearch - elasticsearch bool 查询添加逻辑
- python - 如何修复python中的“IndexError:字符串索引超出范围”错误
- android-studio - Flutter 用户应该运行 `flutter packages get` 而不是 `pub get`
- python - 避免在 python 中搜索合适的类型
- variables - 如何使用 Boto3 通过 Lambda 在 EC2 创建中将变量传递给 USERDATA
- wordpress - 如何使用自定义 HTML 小部件放置两个不同的短代码
- c - 如何从标准输入读取多行并将其存储在链表中