我有一个脚本,在它的目录中加载了很多文件,这个脚本可以从任何位置调用。我想知道是否可以在文件的开头使用os.chdir(os.path.dirname(__file__))
来减少冗长的内容。你知道吗
脚本目录:
script/path/
do_stuff.py
src/
..some files
脚本的调用方式如下:
$ python3 script/path/do_stuff.py
所以,与其这样做
with open(os.path.join(os.path.dirname(__file__), 'src/..')) as f:
...
我在导入后添加os.chdir(os.path.dirname(__file__))
,并执行以下操作:
with open('src/..') as f:
...
这被认为是一种好的做法吗?或者我应该避免它,以避免更复杂的项目的复杂性?你知道吗
另一种选择:
编写一个函数,为本地文件资源提供正确的路径:
然后:
正如我在评论中提到的,更改当前工作目录意味着您不能再接受来自用户输入的相对路径(除非您首先存储原始工作目录并从中构造绝对路径)。这可能是命令行工具最常见的场景:
相比之下,
cd
离开用户的工作目录的收益相对较小。你知道吗相关问题 更多 >
编程相关推荐