如何让python按行运行脚本



如何使用python行式运行脚本?例如

from modulefinder import ModuleFinder
finder = ModuleFinder()
finder.run_script("test-script.py")
for name, mod in finder.modules.items():
print(name)

已经试过了,它的一行:

$ python -c 'from modulefinder import ModuleFinder; finder = ModuleFinder(); finder.run_script("/usr/bin/xbacklight"); for name, mod in finder.modules.items(): print(name)'
File "<string>", line 1
from modulefinder import ModuleFinder; finder = ModuleFinder(); finder.run_script("/usr/bin/xbacklight"); for name, mod in finder.modules.items(): print(name)
                                        ^^^
SyntaxError: invalid syntax

如何做到精细工作?由于之前

你可以在列表推导式中包装for-each为了使它使用单行指令工作。

命令变成

python -c 'from modulefinder import ModuleFinder; finder = ModuleFinder(); finder.run_script("/usr/bin/xbacklight"); [print(name) for name, mod in finder.modules.items()]'

您可以使用here-document。一旦您输入了<<something, shell将对所有输入进行管道化,直到它看到"一些东西"为止。再来看看。通常,"EOF"使用。

$ python <<EOF
> from modulefinder import ModuleFinder
> finder = ModuleFinder()
> finder.run_sctript("test-script.py")
> for name, mod in finder.modules.items():
>     print(name)
> EOF

最新更新