系统标准名称:如何返回python脚本当前正在读取的文件名

2024-09-28 05:20:55 发布

您现在位置:Python中文网/ 问答频道 /正文

for line in sys.stdin:
    line = re.sub('\$File\$', sys.stdin.name, line)

我在python脚本的main中有这段代码,我想返回文件名,但这只返回<stdin>。 有什么想法吗??在

同样,这个脚本是一个git smudge脚本,它应该写入正在提交的文件的文件名。。不是python脚本的名称。这就是为什么inspect.getfile文件()在这里也不起作用。在

谢谢


Tags: 文件代码nameingitre脚本for
2条回答

另一种选择是使用inspect模块:

echo "import inspect; print inspect.stack()[0][1]" > /tmp/foo.py
python /tmp/foo.py
/tmp/foo.py

也许您可以尝试使用__name__os.path.realpath(__file__)

如果要导入文件:

print __name__

如果在文件中运行:

^{pr2}$

或者,使用sys

print sys.argv[0]

相关问题 更多 >

    热门问题