Welcome 微信登录

首页 / 操作系统 / Linux / Python文本处理

日常操作中,少不了文本处理,如程序输入数据准备,python凭借其简洁优雅的语法,在文本处理上比C++等编译型语言开发效率高出一大截。文件操作示例
#输入文件
f = open(r"D:Python27pro123.bak") 
#输出文件
fw = open(r"D:Python27pro123e.bak","w")
#按行读出所有文本
lines = f.readlines()
num = -1
for line in lines:
    str = "@SES/%i/" %num
    line = line.replace("@SES/1/",str)
    num = num + 1
    #写入文件
    fw.writelines(line)
#关闭文件句柄
f.close()
fw.close()
注意,写入文件常用的有write()和writelines()的两个函数,其区别在于
file.write(str):把字符串str写到文件中
file.writelines(seq):把序列seq的内容全部写到文件中
这两个函数都只是写数据,不会写入换行符,如果需要换行,需手动在写入的str尾部加上" ":换行符在各个操作系统中界定的不同,Windows换行符是‘ ",Unix/Linux的换行符为" ",Mac的换行符为" ";
在python中,对换行符进行了统一处理,定义为" ",以文本模式写入时,如果是Windows系统,则python会自动将 转为 ,Mac系统类似;
默认的读写文件,打开操作就是以文本模式打开:f = open(r"D:Python27pro123.bak","w") 
如果以二进制模式打开,需指定参数b:f = open(r"D:Python27pro123.bak","rb")