Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python3中f字符串的名称错误_Python_Python 3.x_F String - Fatal编程技术网

python3中f字符串的名称错误

python3中f字符串的名称错误,python,python-3.x,f-string,Python,Python 3.x,F String,我在web应用程序中使用以下f字符串。当我在本地运行它时(在web上尝试之前),我得到一个名称错误: NameError:未定义名称“路径” 但这条路打印得很好,似乎在我的脑海中被定义了。我做错了什么 path = f'{PROJECT_PATH["raw_data"]}/cashValues' print("PATH", path) filenames = [f'{path}/{i}' for i in filenames] 谢谢 完全回溯: Traceback (most recent c

我在web应用程序中使用以下f字符串。当我在本地运行它时(在web上尝试之前),我得到一个名称错误:

NameError:未定义名称“路径”

但这条路打印得很好,似乎在我的脑海中被定义了。我做错了什么

path = f'{PROJECT_PATH["raw_data"]}/cashValues'
print("PATH", path)
filenames = [f'{path}/{i}' for i in filenames]
谢谢

完全回溯:

Traceback (most recent call last):
  File "scripts/TableTransform.py", line 8, in <module>
    class TableTransform(object):
  File "scripts/TableTransform.py", line 14, in TableTransform
    Filenames = [f'{path}/{i}' for i in filenames]
  File "scripts/TableTransform.py", line 14, in <listcomp>
    Filenames = [f'{path}/{i}' for i in filenames]
NameError: name 'path' is not defined
回溯(最近一次呼叫最后一次):
文件“scripts/TableTransform.py”,第8行,在
类TableTransform(对象):
TableTransform中第14行的文件“scripts/TableTransform.py”
Filenames=[f'{path}/{i}'表示文件名中的i]
文件“scripts/TableTransform.py”,第14行,在
Filenames=[f'{path}/{i}'表示文件名中的i]
NameError:未定义名称“路径”

python 3.6.5中的列表理解似乎有自己的作用域,并且不知道该作用域之外的变量。这就是它失败的原因

无法用给定的信息重现问题。假设正确定义了
项目路径
文件名
,则不会出现任何错误。如果您在为这三行设置了合理的值之后,实际上只运行了这三行,您是否仍然会得到错误?您确定错误发生在这里吗?你能提供完整的追踪吗?是的,非常奇怪。我想不出为什么。如前所述,print语句以正确的值完全按照我的预期打印出路径。正确指定了路径。我添加了完整的回溯
path=f'{PROJECT\u path[“raw\u data”]}//cashValues'
对不起,是的,效果很好!它只需要一些“周围”的原始数据