相关疑难解决方法(0)

打印其源代码的Python脚本

是否有可能(不必使用python内省)打印脚本的源代码?

我想执行一个短的python脚本,也打印它的源(所以我可以看到执行了哪些命令).

脚本是这样的:

command1()
#command2()
command3()

print some_variable_that_contain_src
Run Code Online (Sandbox Code Playgroud)

真正的应用是我想用run -i魔术从IPython运行一个脚本并输出源(即执行的命令).通过这种方式,我可以检查每次执行时评论的命令.此外,如果在笔记本中执行,我会留下一些已使用过的命令.

使用korylprince解决方案我最终将这个单行放在脚本的开头:

with open(__file__) as f: print '\n'.join(f.read().split('\n')[1:])
Run Code Online (Sandbox Code Playgroud)

这将打印脚本源,但第一行除外(这只是噪音).修改切片也很容易打印脚本的不同"切片".

如果您想要打印整个文件,单行简化为:

with open(__file__) as f: print f.read()
Run Code Online (Sandbox Code Playgroud)

python

6
推荐指数
2
解决办法
2767
查看次数

标签 统计

python ×1