相关疑难解决方法(0)

如何获取当前正在执行的文件的路径和名称?

我有脚本调用其他脚本文件,但我需要获取当前在该进程中运行的文件的文件路径.

例如,假设我有三个文件.使用execfile:

  • script_1.py电话script_2.py.
  • 反过来,script_2.py打电话script_3.py.

我怎样才能获得的文件名和路径script_3.py,从内部代码script_3.py,而无需从传递这些信息作为参数script_2.py

(执行os.getcwd()返回原始起始脚本的文件路径而不是当前文件的.)

python scripting file

462
推荐指数
16
解决办法
51万
查看次数

python:将脚本工作目录更改为脚本自己的目录

我每分钟从crontab运行一个python shell:

* * * * * /home/udi/foo/bar.py
Run Code Online (Sandbox Code Playgroud)

/home/udi/foo有一些必要的子目录,比如/home/udi/foo/log/home/udi/foo/config,/home/udi/foo/bar.py指的是.

问题是crontab从不同的工作目录运行脚本,因此尝试打开./log/bar.log失败.

有没有一种很好的方法告诉脚本将工作目录更改为脚本自己的目录?我想要一个适用于任何脚本位置的解决方案,而不是明确地告诉脚本它在哪里.

编辑:

os.chdir(os.path.dirname(sys.argv[0]))
Run Code Online (Sandbox Code Playgroud)

是最紧凑的优雅解决方案.感谢您的回答和解释!

python working-directory

153
推荐指数
4
解决办法
15万
查看次数

标签 统计

python ×2

file ×1

scripting ×1

working-directory ×1