python执行linux指令 - CSDN
精华内容
参与话题
  • Python执行Linux系统命令的4种方法

    千次阅读 2018-10-24 00:02:44
    仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 复制代码代码如下: system(command) -> exit_status  Execute the command (a string) in a subshell. 如果再命令行下执行,结果直接...

    http://www.jb51.net/article/56490.htm

    (1) os.system

    仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息

    复制代码代码如下:


    system(command) -> exit_status 
    Execute the command (a string) in a subshell.


    如果再命令行下执行,结果直接打印出来

    复制代码代码如下:


    >>> os.system('ls')
    04101419778.CHM   bash      document    media      py-django   video
    11.wmv            books     downloads   Pictures  python
    all-20061022      Desktop   Examples    project    tools

     

    (2) os.popen

    该方法不但执行命令还返回执行后的信息对象

    复制代码代码如下:


    popen(command [, mode='r' [, bufsize]]) -> pipe 
    Open a pipe to/from a command returning a file object.

     

    例如:

    复制代码代码如下:


    >>>tmp = os.popen('ls *.py').readlines()
    >>>tmp
    Out[21]:
    ['dump_db_pickle.py ',
    'dump_db_pickle_recs.py ',
    'dump_db_shelve.py ',
    'initdata.py ',
    '__init__.py ',
    'make_db_pickle.py ',
    'make_db_pickle_recs.py ',
    'make_db_shelve.py ',
    'peopleinteract_query.py ',
    'reader.py ',
    'testargv.py ',
    'teststreams.py ',
    'update_db_pickle.py ',
    'writer.py ']


    好处在于:将返回的结果赋于一变量,便于程序的处理。

     

    (3)  使用模块 subprocess

     

    复制代码代码如下:


    >>> import subprocess
    >>> subprocess.call(["cmd", "arg1", "arg2"],shell=True)

    from subprocess import call

    call(['python3','-m','nbconvert','assessing.ipynb']) ## output,若成功,返回代码0,失败则返回大于0的数字 0


    获取返回和输出:

    复制代码代码如下:


    import subprocess
    p = subprocess.Popen('ls', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    for line in p.stdout.readlines():
        print line,
    retval = p.wait()

     

    (4)  使用模块 commands

     

    复制代码代码如下:


    >>> import commands
    >>> dir(commands)
    ['__all__', '__builtins__', '__doc__', '__file__', '__name__', 'getoutput', 'getstatus','getstatusoutput', 'mk2arg', 'mkarg']
    >>> commands.getoutput("date")
    'Wed Jun 10 19:39:57 CST 2009'
    >>>
    >>> commands.getstatusoutput("date")
    (0, 'Wed Jun 10 19:40:41 CST 2009')

     

    注意: 当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess,如果使用os.popen则会出现下面的错误:

    复制代码代码如下:


    Traceback (most recent call last):
      File "./test1.py", line 56, inmain()
      File "./test1.py", line 45, in main
        fax.sendFax()
      File "./mailfax/Fax.py", line 13, in sendFax
        os.popen(cmd)
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 46-52: ordinal not inrange(128)

    展开全文
  • python3执行linux命令

    千次阅读 2017-08-31 09:47:17
    本文主要实现在linux环境下通过python3执行linux命令
    • 本文主要实现在linux环境下通过python3执行linux命令

    • python/test_pwntcha.py
    import subprocess
    
    pic = input("input the pic:")
    cmd = "pwntcha %s" %pic
    result = subprocess.getoutput(cmd)
    print(result)
    • 结果:
      这里写图片描述
    展开全文
  • import subprocess import os def subprocess_(): ... subprocess模块执行linux命令 :return: """ subprocess.call("ls") # 执行ls命令 def system_(): """ system模块执行linux命令 :return:...
    
    import subprocess
    import os
    
    
    def subprocess_():
        """
        subprocess模块执行linux命令
        :return:
        """
        subprocess.call("ls") # 执行ls命令
    
    
    def system_():
        """
        system模块执行linux命令
        :return:
        """
        # 使用system模块执行linux命令时,如果执行的命令没有返回值res的值是256
        # 如果执行的命令有返回值且成功执行,返回值是0
        res = os.system("ls")
    
    
    def popen_():
        """
        popen模块执行linux命令。返回值是类文件对象,获取结果要采用read()或者readlines()
        :return:
        """
        val = os.popen('ls').read() # 执行结果包含在val中
    
    
    def main():
        subprocess_() # 方法1
        system_() # 方法2
        popen_() # 方法3
    
    
    if __name__ == '__main__':
        main()

     知乎:https://www.zhihu.com/people/xiao-ran-6-85-19/activities

    展开全文
  • python执行linux命令并返回执行结果

    万次阅读 2018-10-12 18:42:00
    需要得到命令执行的状态则需要判断$?的值, 在Python中有一个模块commands也很容易做到以上的效果 看一下三个函数: 1). commands.getstatusoutput(cmd) # 此函数也可以执行编译好的文件,cmd='./a.out' 用os.popen()...

    需要得到命令执行的状态则需要判断$?的值, 在Python中有一个模块commands也很容易做到以上的效果
    看一下三个函数:
    1). commands.getstatusoutput(cmd)   # 此函数也可以执行编译好的文件,cmd='./a.out'
    用os.popen()执行命令cmd, 然后返回两个元素的元组(status, result),其中 status为int类型,result为string类型。cmd执行的方式是{ cmd ; } 2>&1, 这样返回结果里面就会包含标准输出和标准错误.
    2). commands.getoutput(cmd)
    只返回执行的结果, 忽略返回值.
    3). commands.getstatus(file) #现已被弃用
    返回ls -ld file执行的结果.

    使用示例:

    >>> import commands
    
    >>> commands.getstatusoutput('ls /bin/ls')      # 执行成功状态码返回0
    
    (0, '/bin/ls')
    
    >>> commands.getstatusoutput('cat /mm/test')  # 执行失败状态码返回256
    
    (256, 'cat: /mm/test: No such file or directory')
    
    >>> commands.getstatus('/bin/ls')    #该函数已被python丢弃,不建议使用,它返回 ls -ld file 的结果(String)
    
    '-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'

     

    展开全文
  • 注意要在终端中执行命令python test.py os.system(cmd) 返回值为0:代表成功;1:代表失败 os.popen(cmd) 将执行结果返回,但是测试表示并没有,具体原因后期记得更新 连续执行多条命令 os.popen("cd.. &...
  • python脚本中执行Linux命令行

    千次阅读 2019-06-20 08:44:26
    常用模块 import os import subprocess os.system('free -h') subprocess.call('top')
  • Linux下查看python版本号

    万次阅读 2018-08-24 09:06:02
    方法一 执行命令python -V 方法二 执行命令:whereis python 方法三 执行命令python
  • linux-python升级到最新版本

    千次阅读 2018-05-24 11:23:48
    创建目录python3.6.5安装目录: mkdir /usr/local/python3.6.5 ...执行以下命令,下载python安装包 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz 解压安装包 tar -xzvf Python-3.6.5...
  • Python3 执行Linux Bash命令

    万次阅读 2017-08-19 10:59:58
    和之前C++执行Linux Bash命令 一样,Python依然支持system调用和popen()函数来执行linux bash命令。方法一:system调用#仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 import os os.system('ls')...
  • Linux shell脚本执行Python脚本

    万次阅读 2017-04-17 16:18:41
    今天想做个定时器,用shell脚本执行Python脚本 shell 里面是这样写python main.py 之后就报错误 :No module named 看了一篇博客解决了问题: 使用Python的时候最好指定地址:/usr/local/bin/python2.7 main.py...
  • Linux下后台执行python程序

    千次阅读 2018-06-30 17:59:14
    Linux下后台执行python程序 Linux下后台执行python程序 问题 解决方案 问题 用Xshell连接服务器,打算在服务器上跑一个耗时间很长的代码,但是一旦会话连接断开,代码也会结束执行 解决方案 使用nohup...
  • Linux、Windows后台运行Python脚本

    万次阅读 2020-01-02 10:12:58
    Linuxpython或nohup命令 python命令python test.py & python -u test.py >> test.log & 参数u,时时输出内容到文件。 nohup命令: 基本用法: 1.nohup python3 test.py & 后台...
  • linux执行python脚本的两种方式

    万次阅读 2018-10-11 10:02:45
    1、直接使用python xxxx.py执行。其中python可以写成python的绝对路径。使用which python进行查询。 2、在文件的头部(第一行)写上#!/usr/bin/python2.7,这个地方使用python的绝对路径,就是上面用which python...
  • linux终端(terminal)中执行python文件

    万次阅读 多人点赞 2017-03-06 09:48:58
    linux终端(terminal)中执行python文件
  • Linux上运行Python文件

    千次阅读 2019-08-13 19:04:42
    1.进入文件目录  python 文件名.py 转载于:https://www.cnblogs.com/banml/p/10750472.html
  • 天天
  • python脚本在linux上运行的两种方式

    万次阅读 2018-08-22 14:41:56
    1、直接使用python xxxx.py执行。其中python可以写成python的绝对路径。使用which python进行查询。   2、在文件的头部(第一行)写上#!/usr/bin/python2.7,这个地方使用python的绝对路径,就是上面用which ...
  • Linux执行Python脚本

    万次阅读 多人点赞 2019-07-04 23:48:33
    1.Linux Python环境 Linux系统一般集成Python,如果没有安装,可以手动安装,联网状态下可直接安装。Fedora下使用yum install,Ubuntu下使用apt-get install,前提都是root权限。安装完毕,可将Python加入环境变量...
  • 这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装。   一、下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下...
  • 使用PyInstaller打包python文件 在和myscript.py同目录下执行命令:pyinstaller mycript.py然后会看到新增加了两个目录build和dist,dist下面的文件就是可以发布的可执行文件, 你会发现dist目录下面有一堆...
1 2 3 4 5 ... 20
收藏数 174,895
精华内容 69,958
热门标签
关键字:

python执行linux指令