如果文件由字母组成,则无法从文件中读取名称

Can't read a name from a file if it is made of letters

使用 VScode + code runner 扩展

一旦 input() 函数接收到像 "qwe" 这样的字符串,程序 returns “NameError: name "qwe" is not defined” 如果输入接收到一串数字,如“123”,则一切顺利。 所有文件都存在于正确的目录中,并且 named/formatted 非常好。 函数示例:

def maker():
    fileVar = str(input())
    fileVar = lineFixer(fileVar)
    with open(fileVar+".csv","r") as workfile:
        for line in workfile:
            return(line)

lineFixer 在某些情况下是一个哑函数(对结果没有影响):

def lineFixer(line):
    line = line.strip('\n')
    line = line.strip('\t')
    line = line.replace('\n','')
    line = line.replace('\t','')
    return line

没有str(input()),就是垃圾。

您遇到的问题是因为您使用的是 input() 而不是 raw_input()

将您的代码修改为 fileVar = raw_input()

这两者之间的区别在于输入试图将您的输入评估为代码。这就是为什么您会收到未定义 XYZ 的错误,它认为它是一个变量。此外,使用 raw_input,您不再需要使用 str().

转换为字符串

编辑:我假设,因为你没有指定这个并且从你得到的错误中,你正在使用 Python2.X。在Python3中,应该只有input(),工作方式为raw_input()