如何调用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 等。
- 浏览: 36792 次
相关推荐
本文定位:想通过python调用top命令获取cpu使用率但暂时没有思路的情况。 如果单纯为了获得cpu的利用率,通过top命令重定向可以轻松实现,命令如下: 复制代码 代码如下: top -bi > cpuHistory.log 或 复制代码 代码...
在Linux环境下,使用Python调用海康威视(Hikvision)的SDK包是一个常见的任务,这主要涉及到视频监控系统的远程访问和控制。海康威视作为全球领先的安防产品及解决方案提供商,提供了丰富的SDK供开发者集成到自己的...
`.so`文件是Linux系统中的动态链接库,它包含可被其他程序共享的函数和数据。 首先,我们要理解什么是`.so`文件。`.so`是"shared object"的缩写,类似于Windows平台的`.dll`文件。它们是可执行代码和数据的集合,...
Python 调用Java实例详解 前言: Python 对服务器端编程不如Java 所以这方面可能要调用Java代码 前提: Linux 环境 1 安装 jpype1 安装后测试代码: from jpype import * startJVM(getDefaultJVMPath(), "-ea...
Python调用海康威视(HIKVision)SDK来实现图像处理和视频流操作是许多开发者在物联网(IoT)和监控系统中的常见需求。海康威视作为全球领先的安防产品供应商,提供了丰富的SDK供开发者集成到自己的应用程序中。在这个...
和之前C++执行Linux Bash命令的方法 一样,Python依然支持system调用和popen()函数来执行linux bash命令。 方法一:system调用 #仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 import os os....
为了实现这种跨语言的数据交互,Python提供了ctypes模块,它允许我们直接调用Windows平台下的动态链接库(DLL)以及Linux下的共享对象(SO)文件。在本文中,我们将详细探讨如何使用ctypes来调用Windows DLL。 首先...
**Python-systemf:一个Brainfuck解释器支持Linux系统调用** 在编程世界中,Brainfuck是一种极简主义的编程语言,旨在挑战程序员的创新思维,而不是用于实际开发。它的语法非常简单,只有8个基本操作符,但在实现...
要使用Python调用海康SDK,我们首先需要下载并安装海康的SDK,确保包含必要的动态链接库(.dll或.so文件,取决于你的操作系统)。接着,我们需要导入Python的ctypes库,这是一个用于调用C库的模块,可以让我们在...
在Ubuntu这样的Linux系统中,通常使用g++编译C++代码,并通过-g选项添加调试信息。对于动态链接库,你需要使用-g和-fPIC选项编译,然后使用g++的`-shared`选项生成.so文件。在Python中,确保安装了必要的依赖库(如...
《Python.UNIX和Linux系统管理指南》是一本深入浅出的教程,旨在帮助读者快速熟悉Python编程语言以及UNIX和Linux操作系统的基础知识,从而能够进行基本的系统管理和开发工作。本书结合了Python的强大功能和UNIX/...
在Linux系统中,这种共享库通常被称为.so文件(Shared Object)。 ### 知识点二:C语言中的函数导出 在C语言中,如果想要在其他语言中调用某个函数,需要将该函数声明为对外可见,即“导出”。在给定的示例中,`...
先前的python调用会话存档的demo示例过少,由此自己写了一个demo示例,示例只需将会话相关信息填入示例的相应位置即可拉取信息。(注:该示例调用的是Linux环境下的c语言sdk,整个流程已经调通,如有问题可以私信...
本人使用 Python ctypes实现了对海康SDK DLL的调用, 可以进行视频实时预览、抓图、抽帧、云台控制、布防等任务,含实现源码
本篇将深入探讨如何使用Python调用Windows的TTS(Text-to-Speech)引擎并生成.wav音频文件。 首先,我们需要了解Windows操作系统中的语音合成接口,通常称为SAPI(Speech API)。Python并不能直接访问SAPI,但我们...
本文档介绍了如何使用Python调用用C语言或C++编写的动态链接库(DLL),这对于计算机视觉和人工智能领域的开发者尤为有用,因为他们可以使用性能更高的语言编写算法,同时在Python中享受高级特性和丰富的库。...
《Python Unix和Linux系统管理指南》是一本专为IT专业人士准备的实用教程,它深入浅出地介绍了如何利用Python语言来提升Unix和Linux系统的管理和自动化水平。这本书涵盖了多个关键的知识点,旨在帮助读者掌握用...
这个主题涵盖了多个关键知识点,包括基础概念、Python的网络库、套接字编程、并发处理以及在Linux系统中的应用。 1. **网络编程基础**:网络编程涉及到通过网络进行通信的软件设计。它涉及IP地址、端口号、协议(如...
本教程将详细讲解如何使用Python调用C++编写的动态链接库(DLL),并涉及回调函数的实现,非常适合初学者学习。 首先,我们需要了解动态库的概念。动态库(Dynamic Link Library,简称DLL)是一种包含可由多个程序...
Video_Live_Stream是在Linux系统下基于python调用ffmpeg实现的简易推流工具,基本功能如下: * 读取播放列表,按列表顺序循环推流视频至rtmp服务器。 * 添加了`bilibili直播间弹幕模块`,可接收及发送弹幕。 * 可...