NameError:未定义名称“D”

时间:2017-10-24 16:49:54

标签: python

尝试运行代码时出现以下错误:

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

1 个答案:

答案 0 :(得分:0)

你必须使用Python2.x - 在这种情况下你应该使用raw_input而不是输入问题是输入是试图评估你对Python代码的输入,但你想要一个字符串。

如果你使用的是Python3.x,input可以正常工作,并且永远是一个字符串。

所以,改变

    input_dir = input()

    input_dir = raw_input()