常用python代码(调用系统命令、字符串处理、文件操作)

发布时间:2020-11-03编辑:脚本学堂
分享一些常用的python代码,通过一些python实例代码,学习下python调用系统命令、字符串处理、文件操作的方法,有需要的朋友参考下。

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
 

复制代码 代码示例:
temp=display.split()
for seg in temp:
    if seg[0:5]=='time=':
            output.write(seg.lstrip('time=').strip()+'t')
            delayRec.append(seg.lstrip('time='))

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 = ""*50 + "'"*50
cursor.execute("INSERT INTO t VALUES(%s);", Blob(s))
cursor.execute("SELECT b FROM t;")
b = cursor.fetchone()[0]
assert b == s # b is automatically decoded
db.close()
os.remove("test.db")