python文件处理入门一

版权声明:皆为本人原创,复制必究 https://blog.csdn.net/m493096871/article/details/86599816

正则表达式
import re
text="adsf+dfs+dgfds+aadsfds"
print(re.split(r"\+",text))

文件三个额外模型
rb 方式不换行
f.readline()返回一行
f.readlines()返回列表
w+
a+
r+
都是可读可写的
a=open(r"/tmp/woshinimama",'a+')
print(a.readable(),a.writable())
a.write("a")
# a=open(r"/tmp/woshinimama",'w+')
# print(a.readable(),a.writable())
# a.write("a")
a=open(r"/tmp/woshinimama",'r+')
print(a.read(),a.readable(),a.writable())
a.close()

但是只要用了w+,w不管你写没写,都会清空文件
U|u支持换行符号

追加换行
a=open("new.txt",'r+')
a.write(u"a\n\r")
print(a.read())
a.close()
a.tell为指针位置


使用匿名函数读取行数
a=open("/etc/passwd",'rb')
print(list((lambda x:(c.strip() for c in x.readlines()))(a)))
a.close()

或者
print(list(map(lambda x:x,strip(),a.readlines())))

因为改变文件内容后指针会改变,所以需要
a.seek(0,0) 第一个参数是偏移量:>0代表向右移动,<0向左
        第二个参数是:
        0:移动指针到文件开头
        1:不移动指针
        0:移动指针到末尾
使用with-as会自动关闭文件,而且可以打开多个文件
with open('/etc/passwd') as f1,\
    open('/etc/passwd','rb') as f2:
    f2.readlines()

猜你喜欢

转载自blog.csdn.net/m493096871/article/details/86599816
今日推荐