广告
返回顶部
首页 > 资讯 > 操作系统 >python调用调用Linux命令
  • 448
分享到

python调用调用Linux命令

命令pythonLinux 2023-01-31 01:01:07 448人浏览 八月长安
摘要

如何调用linux命令下面代码演示了调用一个shell命令, 其中,命令的输出会存储到result变量中, 而命令的返回值,则存储到exitcode中,由此可见,调用shell命令还是很方便的:import commandsexitcode

如何调用linux命令

下面代码演示了调用一个shell命令, 其中,命令的输出会存储到result变量中, 而命令的返回值,则存储到exitcode中,由此可见,调用shell命令还是很方便的:


import commands


exitcode,result = commands.getstatusoutput('dir')


print "exitcode: %s" %(exitcode)


print "result: %s" %(result)


命令行交互

文件访问

文件读写

经常在网上复制代码块时,会将行号也复制下来, 为了去掉前面的行号,可以使用以下python脚本,这个脚本演示从一个文件读入,稍加处理写入到另一个文件:


import os  

import string  

import re  

import sys  

args = sys.argv  


infile=open(args[1],'r')  


outfile=open(args[2],'w')  


readline=infile.readlines()  


infile.close()  


for i in xrange(len(readline)):  


        line = readline[i]  


        line = line.strip()  


        strlist = line.split(' ')  

        del strlist[0]  

        line = ' '.join(strlist)  

        outfile.write(line + '\n')  

outfile.close()

检测目录与文件

if os.path.exists("./setQt4env"):

        print "found!"

网络访问

Http get

通过网址抓内容,设置了30秒延时


import Socket

import sys

import urllib

socket.setdefaulttimeout(30)

try: 

    resp = urllib.urlopen("http://www.baidu.com")

except Exception, info:

  print "Error '%s'" % (info[0])

else:

    print (resp.read())

ftp get

自动ftp


from ftplib import FTP


ftp = FTP('192.168.1.61')


ftp.login('user','passWord')


ftp.retrbinary('RETR readme.txt', open("readme.txt", "wb").write)


ftp.quit()

调用C/C++

写一个c++文件api.cpp:


#include <Python.h>

class MyClass {

public:

    int add(int x,int y) { return x+y; }

};

extern "C" int add(int x,int y)

{

    MyClass obj;

    return obj.add(x,y);

}

将c++编译成动态库:


g++ -fPIC api.cpp -o api.so -shared -I/usr/include/python2.7 -I/usr/lib/python2.7/config

在python中调用add函数:


import ctypes

plib = ctypes.CDLL('/tmp/api.so')

print "result: %d" %(plib.add(1,2))

系统调用

虽然需求好像有点“过份”,但是强大的python是可以调用诸如ioctl这类的Linux系统调用的, 以下的例子是让蜂鸣器响:


import fcntl

fd = open('/dev/pwm', 'r')

fcntl.ioctl(fd, 1, 100)

等效于以下c代码


int fd = open("/dev/pwm", O_RDONLY);

ioctl(fd, 1, 100);

IDE

我只用过 PyCharm,跨平台的, 由于不做大型的开发,所以我只试用了基本的功能,例如:


可以直接在界面上运行,无需切换到终端敲命令

敲代码时有智能完成

即时的语法检查

光有这些就比一般的编辑器好太多了。

Killer Apps

Zope

Zope是一个开源WEB应用服务器,主要用python写成。它是一个事务型的对象数据库平台 Zope的管理面板首页Zope除了能储存内容,数据外,还能存放动态的html模板、脚本、搜索引擎、关系数据库管理系统(RDBMS)接口和代码。zope里的一切都是对象。它有一个强大的基于web的在线开发模板,使你能在世界上任何地方,任何时间方便地更新你的网站。

1). commands.getstatusoutput(cmd)


用os.popen()执行命令cmd, 然后返回两个元素的元组(status, result). cmd执行的方式是{ cmd ; } 


2>&1, 这样返回结果里面就会包含标准输出和标准错误.



2). commands.getoutput(cmd)


只返回执行的结果, 忽略返回值.



3). commands.getstatus(file)


返回ls -ld file执行的结果.



看一下这些函数使用的例子:


>>> import commands


>>> commands.getstatusoutput('ls /bin/ls')


(0, '/bin/ls')


>>> commands.getstatusoutput('cat /bin/junk')


(256, 'cat: /bin/junk: No such file or directory')


>>> commands.getstatusoutput('/bin/junk')


(256, 'sh: /bin/junk: not found')


>>> commands.getoutput('ls /bin/ls')


'/bin/ls'

>>> commands.getstatus('/bin/ls')


'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'


--结束END--

本文标题: python调用调用Linux命令

本文链接: https://www.lsjlt.com/news/183579.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python调用调用Linux命令
    如何调用Linux命令下面代码演示了调用一个shell命令, 其中,命令的输出会存储到result变量中, 而命令的返回值,则存储到exitcode中,由此可见,调用shell命令还是很方便的:import commandsexitcode...
    99+
    2023-01-31
    命令 python Linux
  • python调用linux系统命令
    python3脚本代码如下# !/usr/bin/python# -.- coding: utf-8 -.-__author__ = 'www.py3study.com'import getpassimport osclas...
    99+
    2023-01-30
    命令 系统 python
  • Python调用linux系统命令--使
    在python 中调用系统命令,如果使用subprocess.Popen() 模块,按照命令参数的的形式,可以分两种:把命令当作字符串传给subprocess.Popen() 把命令保存到一个元组,list 的序列,再传给subproces...
    99+
    2023-01-31
    命令 系统 Python
  • Python调用Dos命令
    写了几个批处理,主要是一些Android调试命令,现在想用python来搞,感觉更酷一些吧。O(∩_∩)O~ 比如Ping命令: ping www.baidu.com 用python来做,主要是使用了python标准库中的os库。 参见P...
    99+
    2023-01-31
    命令 Python Dos
  • python中调用dos命令
    本文是基于window系统下的调用dos命令,在centos下也类似 #encoding:utf-8 ''' Created on 2015年10月10日 @author: ZHOUMEIXU204 ''' import os impo...
    99+
    2023-01-31
    命令 python dos
  • python调用外部命令
    python调用外部命令os.system:  输出在终端上,捕捉不到os.popen:  只能捕捉到标准输出,捕捉不到标准错误输出os.popen2: 返回2个对象,一个是标准输入,一个是标准输出os.popen3: 返回3个对象,标准输...
    99+
    2023-01-31
    命令 python
  • golang代码中调用Linux命令
    目录传统方案--crontab分布式任务调度go执行shell命令实际我们在golang代码中调用linux命令1、普通调用2、结合协程调用,可控制中断调用传统方案--crontab 缺点配置任务时,需要SSh登录脚本服...
    99+
    2023-02-19
    golang调用Linux命令 golangLinux命令
  • java中怎么调用linux命令
    在Java中调用Linux命令可以使用`Runtime`类的`exec`方法,以下是一个示例: import java.io.Buf...
    99+
    2023-10-26
    java linux
  • Python 之调用系统命令
    在python中执行系统命令的方法有以下几种:1.os.system(command)>>> s = os.system('ls -l') 总用量 56 drwxr-xr-x. 2 root root 4096 4月 ...
    99+
    2023-01-31
    命令 系统 Python
  • python调用系统命令ping
     #! /usr/bin/env python #coding=utf-8 ############# import subprocess import time import os ks=int(time.time()) #记录开始时间 ...
    99+
    2023-01-31
    命令 系统 python
  • python怎么调用shell命令
    在Python中,可以使用`subprocess`模块来调用shell命令。下面是一个简单的示例:```pythonimport s...
    99+
    2023-08-30
    python shell
  • python调用shell命令小结
     在写python脚本的时候,经常需要调用系统命令,常用的python调用系统命令的方法主要有subprocess.call和os.popen。默认情况下subprocess.call的方法结果是返回值,即1或0,而os.popen则是命令...
    99+
    2023-01-31
    小结 命令 python
  • Python怎么调用系统命令
    一、os.system方法这个方法是直接调用标准C的system() 函数,仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息。os.system(cmd)的返回值。如果执行成功,那么会返回0,表示命令执行成功。否则,则是执行错误...
    99+
    2023-05-23
    Python
  • Python中怎么调用zip命令
    Python中怎么调用zip命令,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python调用zip命令例子程序是这样的:#!/usr/bin/Python &...
    99+
    2023-06-17
  • Linux命令行下调试Python的方法
    这篇文章主要介绍“Linux命令行下调试Python的方法”,在日常操作中,相信很多人在Linux命令行下调试Python的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux命令行下调试Python...
    99+
    2023-06-02
  • Java调用CMD命令
    在Java开发中,有时候需要与操作系统的命令行交互,执行特定的CMD命令或脚本。然而,处理编码问题是调用CMD命令时常遇到的挑战。正确处理编码可以避免输出结果的乱码,确保程序的稳定运行。本文将介绍Java中调用CMD命令的方法,并重点解...
    99+
    2023-08-20
    java microsoft
  • 如何使用Java调用Linux系统命令
    目录Java调用Linux系统命令java执行Linux命令,支持通配符(*)Java调用Linux系统命令 有时候,我们在使用Java做一些操作时,可能性能上并不能达到我们满意的效...
    99+
    2022-11-12
  • Python中调用Ping命令,批量IP
    #!/usr/bin/env python #coding:UTF-8 ''''''' Author: jefferchen@163.com 可在命令行直接带目的IP,也可将IP列表在文本文件中。 pingip.py -d D...
    99+
    2023-01-31
    批量 命令 Python
  • 怎么在python中使用virtualenv调用命令
    本篇文章为大家展示了怎么在python中使用virtualenv调用命令,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(...
    99+
    2023-06-14
  • Linux如何调整命令历史
    小编给大家分享一下Linux如何调整命令历史,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!history是Linux中记录你运行过的命令,其记忆的命令数量取决于在...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作