首页 > 解决方案 > python3中f字符串的名称错误

问题描述

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

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

标签: pythonpython-3.xf-string

解决方案


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


推荐阅读