2024-09-28 05:20:55 发布
网友
for line in sys.stdin: line = re.sub('\$File\$', sys.stdin.name, line)
我在python脚本的main中有这段代码,我想返回文件名,但这只返回<stdin>。 有什么想法吗??在
<stdin>
同样,这个脚本是一个git smudge脚本,它应该写入正在提交的文件的文件名。。不是python脚本的名称。这就是为什么inspect.getfile文件()在这里也不起作用。在
谢谢
另一种选择是使用inspect模块:
inspect
echo "import inspect; print inspect.stack()[0][1]" > /tmp/foo.py python /tmp/foo.py /tmp/foo.py
也许您可以尝试使用__name__或os.path.realpath(__file__):
__name__
os.path.realpath(__file__)
如果要导入文件:
print __name__
如果在文件中运行:
或者,使用sys:
sys
print sys.argv[0]
另一种选择是使用
inspect
模块:也许您可以尝试使用
__name__
或os.path.realpath(__file__)
:如果要导入文件:
如果在文件中运行:
^{pr2}$或者,使用
sys
:相关问题 更多 >
编程相关推荐