【发布时间】:2018-05-10 14:16:26
【问题描述】:
我正在尝试开发一个 UI,允许用户打开菜单、设置目录、输入文件名(word doc)并对文件执行一组任务并将新修改的文件保存在同一目录中/旧文件的位置。
但是,当我尝试设置目录时,我立即收到错误消息。这是我的代码:
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,因此该功能甚至不起作用。
任何见解/帮助将不胜感激!谢谢!!
【问题讨论】:
-
在询问产生异常的代码时,您应该始终在问题中包含完整的 Traceback。复制 Traceback 并将其粘贴到问题中,然后将其格式化为代码(选择它并键入 ctrl-k)。
-
您需要使用操作系统原语来构建您的路径。 os.path.join(xx, yy, cc) 这将产生一个有效的路径 xx/yy/cc
-
基于错误,我猜您输入的输入用单引号括起来?在为
input函数键入字符串时,应省略使用引号。