python - 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
解决方案
python 3.6.5 中的列表理解似乎有自己的范围,并且不知道该范围之外的变量。这就是它失败的原因。
推荐阅读
- html - 网格内的图像对齐
- javascript - Javascript 不等待“then”表单提交
- javascript - Vue 3:为什么在 Vue 3 模板中引用时 dom 引用值未定义
- cron - cronjob 在完成之前被杀死
- authentication - Kubernetes:如何让另一个人使用编辑 clusterRole 权限访问 Kubernetes 集群?
- javascript - 通过数组访问 javascript 对象值
- spring-batch - SCDF服务器双数据库连接错误
- javascript - firebase.functions() 在 React 中未定义,而 firebase.firestore() 可以工作
- notepad++ - 在记事本++中为特定格式添加引号
- css - 自定义轮廓和输入文本颜色问题