我编写了一个程序,其主要目的是不断地向用户询问数据文件名,然后绘制这些文件的图形。但是,根据设计,这些文件存在于各种目录中。我认为能够以标准cd
样式导航会很好,这样用户就可以轻松地进入所述目录并选择他/她想要的任何文件。
我对 python 很陌生(现在正在使用 2.7),所以也许我实现的很糟糕,但下面是我现在的代码:
import os
...
userinput = raw_input('What would you like to do: ').lower()
if userinput.startswith('cd '):
try:
newdir = userinput.split('cd ')[1]
os.chdir(newdir)
print(os.getcwd()+'\n')
except:
print('Not a valid directory.\n')
到目前为止,这实际上适用于我的测试用例(在 Windows 环境中运行,无论好坏),唯一的例外是用户输入类似于cd ...
. 只要有除两个以外的任何数量的句点,就不会引发错误(我在没有 try/except 的情况下完成了此操作),并且程序保留在当前目录中(它打印出它已经存在的位置,而不是继续声明的except
部分)。
从总体上看,这没什么大不了的,因为它只是为了防止出现拼写错误,但我只是想知道这里发生了什么。谢谢!