python - 将路径添加到 sys.path 与 PEP E402
问题描述
为了在磁盘上的某处导入项目特定的模块,可以轻松地将此目录附加到 sys.path:
import sys
sys.path.append(some_module_path)
import some_module
但是,后一种导入现在违反了 PEP E402(“模块级导入不在文件顶部”)。至少 spyder 是这样告诉我的。这里的spyder是不是太挑剔了?
在 spyder 中有一个“项目”的主要思想,我假设环境可以针对这个项目进行调整。但是,我不知道如何根据 spyder 项目修改例如 sys.path。
如何在 spyder 项目中修改 sys.path?或者有没有解决这个问题的通用python方法?
解决方案
您可以将sys.path
扩展名放在单独的模块中,例如_paths.py
.
内容_paths.py
:
import sys
sys.path.append(some_module_path)
sys.path.append(some_other_module_path)
# ...and so on...
然后在您的主应用程序中:
import sys
import _paths
import some_module
some_module.some_func()
该解决方案将您的“项目配置”很好地放在一个地方(这使得将来易于维护),并且至少符合 PEP8(包括 E402)和 pylint 规则。
推荐阅读
- javascript - 如何在基于某些行记录数据加载时禁用 extJS 网格中的网格单元
- php - 在 XML 文件中计算多个价格并在 WP All Import 中只导入一个
- powershell - 如何一次删除多个文件名中下划线之前的所有字符?
- java - 有什么方法可以简化我的 java 代码?
- macos - 如果我没有配置 cron 作业,为什么 crontab 会运行我的脚本?
- rundeck - Rundeck 中的复选框选项
- python-3.x - 如何选择数据框中的一行,其中一个单元格值尽可能接近另一个预定义值
- java - 上传文件到谷歌云存储(JAVA)
- react-native - React Native TensorFlow 问题
- flutter - Flutter 自定义滑块