1)调用系统命令
调用shell命令nslookup,将执行的结果保存到变量result_nslook中
import os
cmd='nslookup %s' % hostname
handle=os.popen(cmd , 'r')
result_nslook=handle.read()
调用shell命令但是不需要获取返回结果
import os
cmd='ls'
os.system(cmd)
2)python 的字符串处理
去掉前后空格
input = open('hostlist_ip' , 'r')
for hostname in input.xreadlines():
#按行读文件到hostname中
hostname=hostname.strip()
hostlist.append(hostname)
input.close()
将读入的一个字符串数组按照空格划分为list
3)文件操作
打开文件进行读写
import os
input=open(filename ,'r') #读文件
output=open(filename ,'w') #写文件
output=open(filename,'a') #追加写文件
#遍历文件夹操作
import os
for root, dirs, files in os.walk(path, topdown=False):
#hanlde file
for name in files:
if name[:-3] = 'exe':
print name
#删除文件
top='mydata/'
for root,dir,files in os.walk(top,topdown=False):
for name in files:
os.remove(os.path.join(root,name))
os.rmdir('mydata')
os.mkdir('mydata')
#列出文件
import os
os.listdir("c:music_singles")
['a_time_long_forgotten_con.mp3', 'hellraiser.mp3', 'kairo.mp3',
'long_way_home1.mp3', 'sidewinder.mp3', 'spinning.mp3']
4)如果将Blob存储到sqlite中
有时需要将Blob或者二进制文件对象存储到SQLite数据库中。
例子,演示Python中是如何实现的:
import os
import sqlite
class Blob:
"""Automatically encode a binary string."""
def __init__(self, s):
self.s = s
def _quote(self):
return "'%s'" % sqlite.encode(self.s)
db = sqlite.connect("test.db")
cursor = db.cursor()
cursor.execute("CREATE TABLE t (b BLOB);")
s = "