我正在开发一个UI,允许用户打开一个菜单,设置一个目录,输入一个文件名(word文档),并在文件中执行一组任务,并将一个新修改的文件保存在旧文件的同一目录/位置。
但是,当我尝试设置目录时,我会立即得到一个错误。这是我的代码:
def menu():
""" the main user-interaction loop
"""
Cuts = ""
while True:
display_menu()
choice = int(input('Enter your choice: '))
print()
if choice == 0:
print('input directory')
x = input()
os.chdir(x)当我尝试这样做时,我会得到以下错误:
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: "'C:\\Users\\NAME\\Desktop'"这太奇怪了,因为当我直接在脚本/ shell上这样做时,它就能工作了!
实际上,我的代码的第一行是: os.chdir(C:/Users/NAME/Desktop')- -它工作得很好。
我知道Windows中有关于"/“是一种逃避的讨论--这是我部分理解的概念,但我已经尝试过使用"\”而不是"/“或"//”的多种替代方法。我也研究过使用raw_input,但是我用了3.6,所以这个函数甚至不能工作。
任何洞察力/帮助都将不胜感激!谢谢!!
发布于 2018-05-10 14:25:08
根据您的错误消息:
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: "'C:\\Users\\NAME\\Desktop'"我猜您在input提示符中输入了input。省略引号(''),然后你就可以走了。
否则,您将最终将此字符串传递给os.chdir:"'C:\Users\NAME\Desktop'",这不是一个有效的路径。
发布于 2018-05-10 14:23:11
使用Os原语,您的代码看起来应该如下所示:
x = input()
path = os.path.join(os.getcwd(), x)
os.chdir(path)它将从当前目录导航。
https://stackoverflow.com/questions/50275028
复制相似问题