python操作文件open()

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)   #读取文件f1中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'\t\n'
print(str)
'''
输出结果:\t\n
转义字符不被转义,原理是在转义字符前加'\',字符串的样子不变
'''
#用在以下方面
#1.正则表达式
search = re.compile(r'\s*')
#2.系统路径
path = r'C:\text'

str = b'hello'
'''
'b' 表示一个bytes(字节)对象
'b'前缀的作用:后面的字符串是bytes类型,在网络编程中,能够进行传输的数据类型是bytes类型数据
'''
#bytes和str的转换:
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()返回当前在文件的位置
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值