python操作文件
f = open(filename,mode)
'''
filename:操作文件的路径
操作模式(mode):
r 只读模式
w 创建模式,若文件已存在,则覆盖所在文件,文件不存在,则创建文件,执行写入模式
a 追加模式,新数据会写到文件的末尾,文件不存在新建
注:后面加b,以二进制形式(字节)读取,加+读写都可
'''
f = open("python.txt","w")
f.write("hello world!n")
f.close()
自动关闭文件
with open(filename,modde) as file:
...
文件操作完毕之后必须关闭,否则内存将长时间保持对文件的连接状态,造成内存溢出的现象发生
读取文件
f = open(filename,mode)
file = f.read()
print(file)
f.close()
'''
读操作:
read():读取文件中的所有信息
read(num):读取文件中指定数量(num)的字符/字节信息
readline():读取文件中一行的信息,以n判定行是否读取完毕
readlines():以行为单位读取文件,返回一个列表
'''
写文件
f1 = open("fil1.txt",'rb')
f2 = open("fil2.txt",'wb')
while Ture:
str = f1.read(1024)
if len(str) == 0:
break
else:
f2.write(str)
f1.close()
f2.close()
'''
写操作:
write(str):将指定信息写入到文件中,str->要写入的字符串信息
'''
字符串前面的u,r,b的含义
str = u'中文字符串'
'''
解决中文乱码问题,后面的字符串以unicode进行编码,一般用在中文字符串的前面
'''
str = r'tn'
print(str)
'''
输出结果:tn
转义字符不被转义,原理是在转义字符前加'',字符串的样子不变
'''
search = re.compile(r's*')
path = r'C:text'
str = b'hello'
'''
'b' 表示一个bytes(字节)对象
'b'前缀的作用:后面的字符串是bytes类型,在网络编程中,能够进行传输的数据类型是bytes类型数据
'''
str.encode('utf-8')
bytes.decode('utf-8')
附录1.打开文件方式:
打开模式 |
执行操作 |
‘r’ |
以只读的方式打开文件(默认) |
‘x’ |
如果文件已经存在,使用此模式打开将引发异常 |
‘w’ |
已写入的方式打开文件,会覆盖已存在的文件 |
‘a’ |
已写入的模式打开,如果文件存在,则在末尾追加写入 |
‘b’ |
以二进制模式打开文件 |
‘t |
以文本模式打开(默认) |
‘+’ |
可读写模式(可添加到其他模式中使用) |
‘U’ |
通用换行符支持 |
附录2.操作文件对象方法:
文件对象方法 |
执行操作 |
f.close() |
关闭文件 |
f.read(size=-1) |
从文件读取size个字符,当未给定size或给定负字值的时候,度取剩余的所有字符,然后作为字符串返回 |
f.readline() |
已写入模式打开,如果文件存在,则 在末尾追加写入 |
f.write(str) |
将字符串str写入文件 |
f.writelines(seq) |
向文件写入字符串序列seq,seq应该是返回字符串的可迭代对象 |
f.seek(offset,from) |
在文件移动文件指针,从from(0代表文件的起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节 |
f.tell() |
返回当前在文件的位置 |