python调用linux脚本_linux 脚本调用python脚本 - CSDN
精华内容
参与话题
  • python调用shell脚本的两种方法

    万次阅读 2018-04-07 14:33:28
    1.python调用Shell脚本,有两种方法:os.system()和os.popen(), 前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。 >>>help(os.system) Help on built-in function ...

    os.system()和os.popen()

    1.python调用Shell脚本,有两种方法:os.system()和os.popen(),
    前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。

    
    >>>help(os.system)
    Help on built-in function system in module posix:
    system(...)
        system(command) -> exit_status
        Execute the command (a string) in a subshell.
    
    >>> help(os.popen)
    Help on built-in function popen in module posix:
    popen(...)
        popen(command [, mode='r' [, bufsize]]) -> pipe
        Open a pipe to/from a command returning a file object.
    1. 假定有一个shell脚本test.sh:
    song@ubuntu:~$ vi test.sh
    song@ubuntu:~$ more test.sh
    #!/bin/bash
    echo 'hello python!'
    echo 'hello world!'
    exit 1
    song@ubuntu:~$ 

    2.1 os.system(command):该方法在调用完shell脚本后,返回一个16位的二进制数,
    低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,
    即脚本中exit 1的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况下,
    则函数的返回值是0x0100,换算为十进制得到256。
    要获得os.system的正确返回值,可以使用位移运算(将返回值右移8位)还原返回值:

    >>> import os
    >>> os.system("./test.sh")
    hello python!
    hello world!
    256
    >>> n=os.system("./test.sh")
    hello python!
    hello world!
    >>> n
    256
    >>> n>>8
    1
    >>> 

    2.2 os.popen(command):这种调用方式是通过管道的方式来实现,函数返回一个file对象,
    里面的内容是脚本输出的内容(可简单理解为echo输出的内容),使用os.popen调用test.sh的情况:

    >> import os
    >>> os.popen("./test.sh")
    <open file './test.sh', mode 'r' at 0x7f6cbbbee4b0>
    >>> f=os.popen("./test.sh")
    >>> f
    <open file './test.sh', mode 'r' at 0x7f6cbbbee540>
    >>> f.readlines()
    ['hello python!\n', 'hello world!\n']
    >>> 

    3》像调用”ls”这样的shell命令,应该使用popen的方法来获得内容,对比如下:

    >>> import os
    >>> os.system("ls")   #直接看到运行结果
    Desktop    Downloads     Music     Public     Templates  Videos
    Documents  examples.desktop  Pictures  systemExit.py  test.sh
    0    #返回值为0,表示命令执行成功
    >>> n=os.system('ls')
    Desktop    Downloads     Music     Public     Templates  Videos
    Documents  examples.desktop  Pictures  systemExit.py  test.sh
    >>> n
    0
    >>> n>>8   #将返回值右移8位,得到正确的返回值
    0
    >>> f=os.popen('ls') #返回一个file对象,可以对这个文件对象进行相关的操作
    >>> f
    <open file 'ls', mode 'r' at 0x7f5303d124b0>
    >>> f.readlines()
    ['Desktop\n', 'Documents\n', 'Downloads\n', 'examples.desktop\n', 'Music\n', 'Pictures\n', 'Public\n', 'systemExit.py\n', 'Templates\n', 'test.sh\n', 'Videos\n']
    >>> 

    总结:os.popen()可以实现一个“管道”,从这个命令获取的值可以继续被使用。因为它返回一个文件对象,可以对这个文件对象进行相关的操作。
    但是如果要直接看到运行结果的话,那就应该使用os.system,用了以后,立竿见影!

    展开全文
  • shell中: python test.py $para1 $para2 python中: def main($canshu1, $canshu2)  ..... main(sys.argv[1], sys.argv[2])

    shell中:

    python test.py $para1 $para2


    python中:

    import sys


    def main($canshu1, $canshu2)

      .....



    main(sys.argv[1], sys.argv[2])

    展开全文
  • linux下执行python脚本的两种方式

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

    1、直接使用python xxxx.py执行。其中python可以写成python的绝对路径。使用which python进行查询。

    2、在文件的头部(第一行)写上#!/usr/bin/python2.7,这个地方使用python的绝对路径,就是上面用which python查询来的结果。

    再用chmod改变文件的执行权限,然后在外面就可以使用./xxx.py或xxx.py执行了。

    展开全文
  • python脚本linux上运行的两种方式

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

    1、直接使用python xxxx.py执行。其中python可以写成python的绝对路径。使用which python进行查询。

     

    2、在文件的头部(第一行)写上#!/usr/bin/python2.7,这个地方使用python的绝对路径,就是上面用which python查询来的结果。

    再用chmod改变文件的执行权限,然后在外面就可以使用./xxx.py或xxx.py执行了。

    3、使用命令: python xxx.py


    因为在linux中,python啊shell这些程序都是普通的文本格式,都需要一种程序去解释执行它。要么调用的时候指定,要么在文件头指定。

    展开全文
  • 两步解决python调用Matlab的脚本和函数文件

    万次阅读 多人点赞 2020-08-09 21:52:37
    谢谢~http://blog.csdn.net/sunny_xsc1994/article/details/79254196很早之前写了一篇《python调用matlab环境配置》有关通过mlab实现python调用matlab的配置,但是只在windows下成功了,在Linux下一直没成功,后来...
  • Linux上如何测试、运行python脚本

    万次阅读 2017-06-02 18:37:13
    有两种方式:1、直接使用python xxxx.py执行。其中python可以写成python的绝对路径。使用which python进行查询。2、在文件的头部(第一行)写上#!/usr/bin/python2.7,这个...因为在linux中,python啊shell这些程序都是
  • 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...
  • python脚本中执行Linux命令行

    千次阅读 2019-06-20 08:44:26
    常用模块 import os import subprocess os.system('free -h') subprocess.call('top')
  • python学习之--调用shell脚本

    万次阅读 2015-07-13 15:47:46
    python调用Shell脚本,有很多种方法,下面给出了三个python中执行shell命令的方法 第一种方案:os.system os.system返回脚本的退出状态码 现有一个shell脚本1.sh #!/bin/sh echo "hello world!!"在python中调用shell...
  • 一:php调用python脚本 并传入参数,并接收返回值  php调用python脚本可以用 system(),exec()和passthru() 函数,本篇文章主要介绍exec 函数   exec有三个参数,第一个参数为一个字符串,包括三个子串,起...
  • linux中sh与py文件的相互调用关系

    千次阅读 2016-11-05 14:47:54
    Linux Python shell 执行文件之间的文件调用在shell sh 调用pycallpy.sh:#!/bin/bash echo 'start call py' ./frompy.py echo 'end call py' frompy.py:#!/usr/bin/python print "from python" 在Python py中调用...
  • 在用crontab设置定时任务时,发现py脚本在crontab中报错,显示import某些包找不到,但是手动直接运行py脚本,完全正常。 01 05 * * * cd /data/felixping/toutiao/crontab_file;./get_topic_hourly.sh >> get_...
  • python3.6版本 目的:远程ssh执行 /home/linxinfa/hello.sh 模块:paramiko import paramiko import os def sshclient_execmd(hostname, port, username, password, execmd): s = paramiko.SSHClient() s.set_...
  • Shell调用Python函数

    千次阅读 2019-01-09 14:54:49
    Shell脚本调用Python函数,本例子是通过Shell调用Python脚本,检查服务器上的某端口是否开启,编写的Python脚本port.py,脚本内容: #!/usr/bin/python # port.py import socket def scan(port):  s = socket....
  • 举例有一个python脚本叫test.py,现在想要在java里调用这个脚本。假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用java调用控制台进程,即 Runtime.getRuntime()....
  • Linux下执行Python脚本

    万次阅读 多人点赞 2019-07-04 23:48:33
    1.Linux Python环境 Linux系统一般集成Python,如果没有安装,可以手动安装,联网状态下可直接安装。Fedora下使用yum install,Ubuntu下使用apt-get install,前提都是root权限。安装完毕,可将Python加入环境变量...
  • Python 脚本如何执行另一个脚本

    万次阅读 2018-04-17 16:49:46
    关于Python 脚本如何执行另一个脚本,可以使用os.system()来实现 os.system()的参数: 执行的命令 +执行的内容 举例说明: (1)显示当前文件夹下的全部目录和文件夹 os.system('dir') //dir 显示磁盘目录...
  • 然后我想在shell脚本调用这个compare.py获取函数return的值 代码如下: #!/bin/bash var1=`python compare.py` echo $var1 $var1并没有输出我想看到的return值1或0,而是执行了整个py文件 我只想接受这个...
  • shell脚本中执行python脚本并接收其返回值的例子 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-08-29 我要评论 这篇文章主要介绍了shell脚本中执行python脚本并接收其返回值的例子,本文重点在于...
  • QT调用Python脚本

    千次阅读 2016-12-05 15:37:18
    QT调用Python脚本Python写一些小工具,执行某些自动操作还是很方便。脚本已经写好了,有时候需要QT来调用这些脚本执行相应的操作。:QT调用外部程序的方法有好几种,这里不做讨论,我们用其中的一种方法来讲怎么...
1 2 3 4 5 ... 20
收藏数 59,735
精华内容 23,894
关键字:

python调用linux脚本