Python脚本在terminal中执行命令

我刚才在某个地方看过,但似乎找不到。 我试图find一个将在terminal执行命令,然后输出结果的命令。

例如:脚本将是:

command 'ls -l' 

它会在terminal中运行该命令的结果

做这件事有很多种方法:

一个简单的方法是使用os模块:

 import os os.system("ls -l") 

使用子stream程模块可以实现更复杂的事情:例如:

 import subprocess test = subprocess.Popen(["ping","-W","2","-c", "1", "192.168.1.70"], stdout=subprocess.PIPE) output = test.communicate()[0] 
  • pythonsubprocess的自定义标准input

实际上任何关于subprocess的问题都将是一个很好的解读

我更喜欢使用子stream程模块:

 from subprocess import call call(["ls", "-l"]) 

原因是,如果你想在脚本中传递一些variables,这就给出了非常简单的方法,例如,采取下面的代码部分

 abc = ac call(["vim", abc]) 

您还应该查看commands.getstatusoutput

这将返回一个长度为2的元组。第一个是返回整数(0-当命令成功时),第二个是将在terminal中显示的整个输出。

对于ls

  import commands s=commands.getstatusoutput('ls') print s >> (0, 'file_1\nfile_2\nfile_3') s[1].split("\n") >> ['file_1', 'file_2', 'file_3'] 

os.popen()非常简单易用,但是从Python 2.6开始已经被弃用了。 您应该使用子stream程模块。

在这里阅读: 读取一个os.popen(命令)成一个string

在桌面GUI中(有些人可能不会使用它),你可以在桌面快捷方式中使用一个桌面快捷方式,并在其中有一个命令来打开设置的文件。 如果你复制并粘贴到你的Python解释器,它应该工作。 (我不能确定这会工作,但为什么不试一试呢!)对不起,所有的拼写错误…我只有11.这个信息是不是组成! 这只是我在做一个懒人而已! 记住,我只有11!