尝试运行代码时出现以下错误:
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
D
NameError: name 'D' is not defined
我不知道导致错误的原因。
我正在尝试测试D C:\Test\Project1\Example
是否有效
import pathlib
from pathlib import Path
def read_input_vaild():
'''read input and consider if vaild'''
while True:
input_dir = input()
path_dir = input_dir[2:]
p = Path(path_dir)
if input_dir[0] == 'D' and input_dir[1] == ' ':
if p.exists() and p.is_dir:
return input_dir
else:
print('ERROR')
input_dir = read_input_vaild()
return input_dir
else:
print('ERROR')
input_dir = read_input_vaild()
return input_dir
答案 0 :(得分:0)
你必须使用Python2.x - 在这种情况下你应该使用raw_input而不是输入问题是输入是试图评估你对Python代码的输入,但你想要一个字符串。
如果你使用的是Python3.x,input
可以正常工作,并且永远是一个字符串。
所以,改变
input_dir = input()
到
input_dir = raw_input()