`
音频数据
  • 浏览: 36792 次
文章分类
社区版块
存档分类
最新评论

python调用调用Linux命令

 
阅读更多

如何调用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
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的在线开发模板,使你能在世界上任何地方,任何时间方便地更新你的网站。

Django
Django 是 Python 社区应用最广泛的 Web 开发框架,也是 Python之父 Guido van Rossum 最喜爱和推崇的框架。许多全球顶尖互联网产品采用 Django 开发,比如 Pinterest, Instagram, Disqus 等。

分享到:
评论

相关推荐

    Linux下使用python调用top命令获得CPU利用率

    本文定位:想通过python调用top命令获取cpu使用率但暂时没有思路的情况。 如果单纯为了获得cpu的利用率,通过top命令重定向可以轻松实现,命令如下: 复制代码 代码如下: top -bi > cpuHistory.log 或 复制代码 代码...

    linux下使用python调用海康威视SDK包

    在Linux环境下,使用Python调用海康威视(Hikvision)的SDK包是一个常见的任务,这主要涉及到视频监控系统的远程访问和控制。海康威视作为全球领先的安防产品及解决方案提供商,提供了丰富的SDK供开发者集成到自己的...

    so编写和Python调用.so文件

    `.so`文件是Linux系统中的动态链接库,它包含可被其他程序共享的函数和数据。 首先,我们要理解什么是`.so`文件。`.so`是"shared object"的缩写,类似于Windows平台的`.dll`文件。它们是可执行代码和数据的集合,...

    Python 调用Java实例详解

    Python 调用Java实例详解 前言: Python 对服务器端编程不如Java 所以这方面可能要调用Java代码 前提: Linux 环境  1 安装 jpype1 安装后测试代码:  from jpype import * startJVM(getDefaultJVMPath(), "-ea...

    python调用海康sdk开图demo软件

    Python调用海康威视(HIKVision)SDK来实现图像处理和视频流操作是许多开发者在物联网(IoT)和监控系统中的常见需求。海康威视作为全球领先的安防产品供应商,提供了丰富的SDK供开发者集成到自己的应用程序中。在这个...

    Python3 执行Linux Bash命令的方法

    和之前C++执行Linux Bash命令的方法 一样,Python依然支持system调用和popen()函数来执行linux bash命令。 方法一:system调用 #仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 import os os....

    Python调用windows下DLL

    为了实现这种跨语言的数据交互,Python提供了ctypes模块,它允许我们直接调用Windows平台下的动态链接库(DLL)以及Linux下的共享对象(SO)文件。在本文中,我们将详细探讨如何使用ctypes来调用Windows DLL。 首先...

    Python-systemf一个brainfuck解释器支持Linux系统调用

    **Python-systemf:一个Brainfuck解释器支持Linux系统调用** 在编程世界中,Brainfuck是一种极简主义的编程语言,旨在挑战程序员的创新思维,而不是用于实际开发。它的语法非常简单,只有8个基本操作符,但在实现...

    python调用海康SDK拉取网络摄像头视频流

    要使用Python调用海康SDK,我们首先需要下载并安装海康的SDK,确保包含必要的动态链接库(.dll或.so文件,取决于你的操作系统)。接着,我们需要导入Python的ctypes库,这是一个用于调用C库的模块,可以让我们在...

    linux 下 python调用c或者c++编写的代码使用案例

    在Ubuntu这样的Linux系统中,通常使用g++编译C++代码,并通过-g选项添加调试信息。对于动态链接库,你需要使用-g和-fPIC选项编译,然后使用g++的`-shared`选项生成.so文件。在Python中,确保安装了必要的依赖库(如...

    Python.UNIX和Linux系统管理指南_20191018.rar

    《Python.UNIX和Linux系统管理指南》是一本深入浅出的教程,旨在帮助读者快速熟悉Python编程语言以及UNIX和Linux操作系统的基础知识,从而能够进行基本的系统管理和开发工作。本书结合了Python的强大功能和UNIX/...

    python调用C的例子

    在Linux系统中,这种共享库通常被称为.so文件(Shared Object)。 ### 知识点二:C语言中的函数导出 在C语言中,如果想要在其他语言中调用某个函数,需要将该函数声明为对外可见,即“导出”。在给定的示例中,`...

    python调用会话存档c语言sdk获取会话信息

    先前的python调用会话存档的demo示例过少,由此自己写了一个demo示例,示例只需将会话相关信息填入示例的相应位置即可拉取信息。(注:该示例调用的是Linux环境下的c语言sdk,整个流程已经调通,如有问题可以私信...

    Python调用海康SDK对接摄像机.pdf

    本人使用 Python ctypes实现了对海康SDK DLL的调用, 可以进行视频实时预览、抓图、抽帧、云台控制、布防等任务,含实现源码

    python系列:Python 调用Windows内置的语音合成,并生成wav文件

    本篇将深入探讨如何使用Python调用Windows的TTS(Text-to-Speech)引擎并生成.wav音频文件。 首先,我们需要了解Windows操作系统中的语音合成接口,通常称为SAPI(Speech API)。Python并不能直接访问SAPI,但我们...

    python调用C与C++语言.pdf

    本文档介绍了如何使用Python调用用C语言或C++编写的动态链接库(DLL),这对于计算机视觉和人工智能领域的开发者尤为有用,因为他们可以使用性能更高的语言编写算法,同时在Python中享受高级特性和丰富的库。...

    Python Unix和Linux系统管理指南

    《Python Unix和Linux系统管理指南》是一本专为IT专业人士准备的实用教程,它深入浅出地介绍了如何利用Python语言来提升Unix和Linux系统的管理和自动化水平。这本书涵盖了多个关键的知识点,旨在帮助读者掌握用...

    Python网络编程(Linux)_网络编程_python_linux网络编程_

    这个主题涵盖了多个关键知识点,包括基础概念、Python的网络库、套接字编程、并发处理以及在Linux系统中的应用。 1. **网络编程基础**:网络编程涉及到通过网络进行通信的软件设计。它涉及IP地址、端口号、协议(如...

    python调用c++动态库Demo

    本教程将详细讲解如何使用Python调用C++编写的动态链接库(DLL),并涉及回调函数的实现,非常适合初学者学习。 首先,我们需要了解动态库的概念。动态库(Dynamic Link Library,简称DLL)是一种包含可由多个程序...

    Linux下基于python调用ffmpeg实现视频推流+源代码+文档说明

    Video_Live_Stream是在Linux系统下基于python调用ffmpeg实现的简易推流工具,基本功能如下: * 读取播放列表,按列表顺序循环推流视频至rtmp服务器。 * 添加了`bilibili直播间弹幕模块`,可接收及发送弹幕。 * 可...

Global site tag (gtag.js) - Google Analytics