【发布时间】:2018-07-18 12:22:07
【问题描述】:
我在 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
【问题讨论】:
-
无法用给出的信息重现问题。假设
PROJECT_PATH和filenames被正确定义,这不应该给出任何错误。如果在为它们设置合理的值后实际上只运行这三行,你真的仍然得到错误吗? -
您确定这里发生了错误吗?你能提供完整的回溯吗?
-
是的,它非常奇怪。我想不出为什么。如前所述,打印语句完全按照我期望的正确值打印出路径。正确指定了路径。我添加了完整的回溯
-
试试
path = f'{PROJECT_PATH["raw_data"]}//cashValues' -
对不起,是的,效果很好!它只需要一些围绕“raw_data”的“”
标签: python python-3.x f-string