use*_*638 3 python scripts 12.04
我必须做一堆文件复制、移动、svn check out 命令、目录检查等,我正在尝试制作一个脚本来为我做这件事。我有基本的 python 语法,但我不确定如何使用 python 来执行 linux 命令。我知道需要的 linux 命令,例如 sudo apt-get install subversion 我只是不知道如何将 python 包裹起来。
具体来说,任何人都可以举例说明如何:
还有更多,但我想掌握基本原理并实际学习如何使用 python 脚本执行 linux 命令。谢谢你的时间~
编辑:我特别需要使用 python
您当然可以使用os和subprocess模块中的Python 内置内容来完成所有工作。
如果你想让你的脚本与你正在调用的程序“交互”(比如“等到它打印‘按 Enter 继续’,然后给它发送一个 Enter 按键),那就有点棘手了——为此你可以使用pexpect模块。
对于稍微高级一点的方法,请查看Fabric库 - 除了运行本地命令之外,它还允许您通过 SSH 在远程机器上轻松执行代码。
使用 Fabric 的一小部分代码示例:
if "dirty" in api.local("git describe --dirty", capture=True):
print colors.red("""Your repository is dirty, commit any changes first""")
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)
读起来几乎像诗歌:) 相比之下,Bash 中的类似代码看起来像是一团糟……