如何使用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