标签:mil nis str 分享 回文 write 操作 int 写的不好
最近好多同学说不会文件的处理,在这里总结一下文件处理的知识点。
文件的操作采用open()的方法
file = open(filename,mode,encoding) #打开文件 file.close() #关闭文件
其中
filename: 要打开的文件路径,mode: 打开文件的模式,encoding:打开文件的编码格式(一般采用utf-8)
打开文件的模式:
注意:filename是文件的路径,当你没有路径只写了一个文件名的时候,默认是在当前文件夹下创建,当你使用绝对路径的时候,记得转译路径中的‘ \ ’
f = open(file=‘1.txt‘, mode=‘w‘, encoding=‘utf-8‘) #在当前文件夹下创建 #注意绝对路径 f = open(file=‘C:\\Users\\Administrator\\Desktop\\1.txt‘, mode=‘w‘, encoding=‘utf-8‘)
# 读文件 f = open(file=‘1.txt‘, mode=‘r‘,encoding=‘utf-8‘) data = f.read() print(data) f.close() # 循环遍历文件 f = open(file=‘1.txt‘, mode=‘r‘) for line in f: print(line) # 写文件 f = open(file=‘2.txt‘, mode=‘w‘, encoding=‘gbk‘) f.write(‘学习python.‘) f.close() # 追加模式 这个模式是在以存在的文件的末尾最后继续写入内容 f = open(file=‘2.txt‘, mode=‘a‘, encoding=‘gbk‘) f.write(‘学习java.‘) f.close() # 读写模式 f = open(file=‘2.txt‘, mode=‘r+‘, encoding=‘gbk‘) data = f.read() print(data) f.write(‘\n学习C.‘) f.close() # 写读模式 f = open(file=‘2.txt‘, mode=‘r+‘, encoding=‘gbk‘) f.write(‘\n新疆.‘) data = f.read() print(data) f.close()
# 其他功能 f = open(file=‘C:\\Users\\Administrator\\Desktop\\1.txt‘, mode=‘r+‘, encoding=‘gbk‘) f.fileno() # 返回文件句柄在内核的索引值,IO多路复用时用到 f.flush() # 把文件从内存buffer中强制刷新到硬盘 f.readable() # 判读文件是否可读 f.readline() # 只读一行遇到\n \r截止 f.tell() # 返回当前光标位置 f.seek() # 移动光标到指定位置 f.seekable() # 判断文件是否可进行seek操作 f.truncate() # 按指定长度截断文件*指定长度的话,从开头开始截断, 不指定长度的话,从当前位置到尾部全部去掉 f.writable() # 判断是否可写
下面写个简单方法实现文件的修改:
# 文件修改 improt os #这里导入了os模块去改文件名 f_name = ‘C:\\Users\\Administrator\\Desktop\\3.txt‘ f_new_name = ‘%s.new‘ % f_name old_str = ‘新疆‘ new_str = ‘北京bj‘ f = open(file=f_name, mode=‘r‘, encoding=‘gbk‘) f_new = open(file=f_new_name, mode=‘w‘, encoding=‘gbk‘) for line in f: if old_str in line: line = line.replace(old_str,new_str) f_new.write(line) os.rename(f_new_name, f_name)
用with语句来操作,这样就不需要手动来关闭文件了。
# 用with语句打开,不需要在写f.close() with open(‘1.txt‘,‘r‘,encoding=‘utf-8‘) as f: print(f.read())
初入博客园,写的不好请多多指正,如发现问题,我会及时更正,共同进步。
标签:mil nis str 分享 回文 write 操作 int 写的不好
原文地址:https://www.cnblogs.com/zg-wolf/p/8794524.html