相关疑难解决方法(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获取当前脚本的名称

我正在尝试获取当前正在运行的Python脚本的名称.

例如,我有一个调用的脚本foo.py,我想在其中执行类似的操作:

print Scriptname
Run Code Online (Sandbox Code Playgroud)

得到:foo.py.

python scripting basename

344
推荐指数
13
解决办法
26万
查看次数

如何获取当前运行的模块路径/名称

我搜索过,这似乎是一个简单的问题而没有一个简单的答案.

我有a/b/c.py要调用的文件python -m a.b.c.我想获得a.b.c模块级别的值.


USAGE = u'''\
Usage:
    python -m %s -h
''' % (what_do_i_put_here,)
Run Code Online (Sandbox Code Playgroud)

因此,当我收到-h选项时,我会显示USAGE而不需要在每个脚本中实际记下实际值.

我真的需要通过inspect才能获得所需的价值吗?

谢谢.

编辑:如上所述,有答案(我已经搜索过),但不是简单的答案.使用inspect,使用traceback或操作__file__,__package__并做一些子串来得到答案.但没有什么比我在模块中有一个类的简单,我可以使用myClass.__module__,我会得到我想要的答案.__name__(不幸的是)使用是无用的,因为它总是如此__main__.

此外,这是在python 2.6中,我不能使用任何其他版本.

python python-2.6

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

标签 统计

python ×3

scripting ×2

basename ×1

file ×1

python-2.6 ×1