博客是我工作的好帮手,遇到困难就来博客找资料
分类: 系统运维
2015-04-01 14:54:40
下面代码演示了调用一个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!"
通过网址抓内容,设置了30秒延时
import socket import sys import urllib socket.setdefaulttimeout(30) try: resp = urllib.urlopen("") except Exception, info: print "Error '%s'" % (info[0]) else: print (resp.read())
自动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++文件api.cpp:
#includeclass 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);
我只用过 ,跨平台的, 由于不做大型的开发,所以我只试用了基本的功能,例如:
Zope是一个开源的web应用服务器,主要用python写成。它是一个事务型的对象数据库平台 Zope的管理面板首页Zope除了能储存内容,数据外,还能存放动态的HTML模板、脚本、搜索引擎、关系数据库管理系统(RDBMS)接口和代码。zope里的一切都是对象。它有一个强大的基于web的在线开发模板,使你能在世界上任何地方,任何时间方便地更新你的网站。
Django 是 Python 社区应用最广泛的 Web 开发框架,也是 Python之父 Guido van Rossum 最喜爱和推崇的框架。许多全球顶尖互联网产品采用 Django 开发,比如 Pinterest, Instagram, Disqus 等。