• 技术文章 >常见问题 >Python常见问题

    怎么在python里面调用linux命令

    yangyang2020-04-29 15:54:06原创2510

    一、使用os模块

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    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\n',

     'epel-release-7-5.noarch.rpm\n',

     'ipython-4.1.2\n',

     'ipython-4.1.2.tar.gz\n',

     'pip-8.1.2\n',

     'pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz\n']

    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不推荐使用

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    In [7]: import commands #导入commands模块

     

    In [8]: c=commands.getoutput('ls')  #ls命令执行结果,字符串形式赋值给c变量

     

    In [9]: c

    Out[9]: 'anaconda-ks.cfg\nepel-release-7-5.noarch.rpm\nipython-4.1.2\nipython-4.1.2.tar.gz\npip-8.1.2\npip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz'

     

    In [10]: d=c.split('\n')    #对变量c,指定分隔符\n分隔,列表形式赋值给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视频教程栏目。

    专题推荐:python
    上一篇:做网站用php还是python方便 下一篇:python可以开发微信么

    相关文章推荐

    • python如何执行dos命令• python-minimal是什么• 做网站用php还是python方便

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网