怎么在python里面调用linux命令
一、使用os模块
In [1]: import os #导入os模块 In [2]: os.system('ls') anaconda-ks.cfg epel-release-7-5.noarch.rpm ipython-4.1.2 ipython-4.1.2.tar.gz pip-8.1.2 pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz Out[2]: 0 In [3]: a=os.system('ls') ##得到的是执行的命令的返回值,并不是执行结果 anaconda-ks.cfg epel-release-7-5.noarch.rpm ipython-4.1.2 ipython-4.1.2.tar.gz pip-8.1.2 pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz In [4]: a #执行ls命令的返回值,成功,为0 Out[4]: 0 In [5]: b=os.popen('ls').readlines() #将得到的结果直接赋值给b列表 In [6]: b #ls执行结果输出到内存,再全部读取赋值给b列表 Out[6]: ['anaconda-ks.cfg ', 'epel-release-7-5.noarch.rpm ', 'ipython-4.1.2 ', 'ipython-4.1.2.tar.gz ', 'pip-8.1.2 ', 'pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz ']
os模块中常见方法(Linux命令)
os.remove():删除文件
os.rename():重命名文件
os.walk():生成目录树下的所有文件名
os.chdir():改变目录
os.mkdir/makedirs:创建目录/多层目录
os.rmdir/removedirs:删除目录/多层目录
os.listdir():列出指定目录的文件
os.getcwd():取得当前工作目录
os.chmod():改变目录权限
os.path.basename():去掉目录路径,返回文件名
os.path.dirname():去掉文件名,返回目录路径
os.path.join():将分离的各部分组合成一个路径名
os.path.getsize():返回文件大小
os.path.exists():是否存在
os.path.isabs():是否为绝对路径
os.path.isdir():是否为目录
os.path.isfile():是否为文件
二、使用commands模块
注意:该模块用于Python2,到了Python3不推荐使用
In [7]: import commands #导入commands模块 In [8]: c=commands.getoutput('ls') #ls命令执行结果,字符串形式赋值给c变量 In [9]: c Out[9]: 'anaconda-ks.cfg epel-release-7-5.noarch.rpm ipython-4.1.2 ipython-4.1.2.tar.gz pip-8.1.2 pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz' In [10]: d=c.split(' ') #对变量c,指定分隔符 分隔,列表形式赋值给d In [11]: d Out[11]: ['anaconda-ks.cfg', 'epel-release-7-5.noarch.rpm', 'ipython-4.1.2', 'ipython-4.1.2.tar.gz', 'pip-8.1.2', 'pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz']
更多Python知识请关注云海天Python教程栏目。
来源:PY学习网:原文地址:https://www.py.cn/article.html