首页 / PYTHON / python--文本文件操作
python--文本文件操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python--文本文件操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3405字,纯文字阅读大概需要5分钟。
内容图文
![python--文本文件操作](/upload/InfoBanner/zyjiaocheng/642/f31f949c2722401c938a5c9f690f5e9a.jpg)
1, 文件操作的函数
open(文件名(路径), mode= ‘ ?’, encoding = ‘字符集’)
# mode模式,encoding用某个字符集进行解码和编码,读为解码,写为编码
# 路径分为绝对路径和相对路径:
绝对路径:从磁盘根目录开始寻找 或者 互联网寻找的一个路径,例如‘d:/abc/down’
相对路径:相对于当前程序所在的文件夹
'../' 点点杠,代表从当前程序所在文件夹出来,到了上一级文件夹里找文件或者文件夹
‘../../’ 点点杠点点杠,来到上上级文件夹里找文件或者文件夹
‘./' 点杠,代表在当前程序所在文件夹里找文件夹
2, 模式
- r 只读
f = open('文件', mode='r', encoding='GBK')
s = f.read()
print(s)
f.close()
f = open('./素材/文件', mode='r', encoding='GBK')
s = f.read()
print(s)
f.close()
f = open('文件', mode='r', encoding='GBK')
s = f.readline().strip() # strip()可以去掉字符串两边的空白,换行符等等
print(s, '`````````````') # print 默认追加一个换行符
s = f.readline().strip()
print(s, '`````````````')
s = f.readline().strip()
print(s, '`````````````')
s = f.readline().strip()
print(s, '`````````````')
f.close()
# f = open('文件', mode='r', encoding='GBK')
# while 1: # 可以监听,但是效果并不好
# s = f.readline().strip() # strip()可以去掉字符串两边的空白,换行符等等
# if s != '': # 防止一直读,如果为空,就停止
# print(s, '---------------')
# f.close()
f = open('文件', mode='r', encoding='GBK') ## f为可迭代的,可以一行一样的处理数据
for line in f:
print(line.strip(), '----------------------')
f.close()
- w 重写
f = open('重写', mode='w', encoding='gbk') # 只要操作这一步,就会清空文件 # 如果文件不存在,就会自动创建文件
f.write('认识世界')
f.write('\nnihao') # 写的时候,换行需要手动控制
f.flush()
print(f) # 没有读出来,所以没法打印
# print(f.read()) # f的打开模式是写,所以没法读出来
f.close()
- a 追加
f = open('重写', mode='a', encoding='gbk')
f.write('\n我是谁')
f.flush()
f.close()
- r+ 读写模式,最好用的读写同时存在的mode
f = open('文件', mode='r+', encoding='gbk') # 一般情况下,光标在哪,就从哪开始写,r+不是,永远写在最后
s = f.read(3) # 读3个字符,光标也会移到这里
print(s, '--------------0-------------------')
f.write('\n肚子饿了')
# f = open('文件', mode='r+', encoding='gbk') # 重新打开才能显示修改后的内容,不然读不出来,此时光标在最后
f.seek(0) # 也可以把光标移到初始位置,这样也能读取出来
s = f.read()
print(s, '`````````````````````````')
f.close()
- w+ 写读模式,先写后读,会先清空,所以用的少
f = open('文件', mode='w+', encoding='gbk')
f.write('我想吃东西')
f.seek(0) # 移动到初始位置,否则读不出来
s = f.read()
print(s)
- a+ 可以读,可以写,光标在最后
f = open('文件', mode='a+', encoding='gbk')
f.write('\n我要吃红烧肉')
f.seek(0) # 如果是中文,3代表一个字,英文的话,1是一个字,这里单位额是byte
s = f.read() # 1代表一个字符
print(s)
f.flush()
- seek 移动光标
seek(3, 0) # 开头偏移3个字节,默认是开头,3个字节代表一个中文字符
seek(3, 1) # 当前位置偏移3个字节
seek(0, 2) # 结尾,偏移0
- tell 告诉我光标的位置
f.tell()
-
文件修改
f = open(‘文件’, mode=‘a+’, encoding=‘gbk’)
with open(‘文件’, mode=‘a+’, encoding=‘gbk’) as f:
两种方法效果一样,但是下面更好,自动close
import os
with open('文件', mode='r', encoding='gbk') as f, open('文件_副本', mode='w', encoding='gbk') as f1:
for line in f:
line = line.replace('我', '你')
f1.write(line)
os.remove('文件') # 删除文件
os.rename('文件_副本', '文件') # 给文件改名
becbea
发布了5 篇原创文章 · 获赞 0 · 访问量 94
私信
关注
内容总结
以上是互联网集市为您收集整理的python--文本文件操作全部内容,希望文章能够帮你解决python--文本文件操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。