Python文件基本操作

文件的读写方法有六种:W,R,A,W+,A+,R+

读模式:

# -*-coding:utf-8 -*-
__author__ = 'xiaojiaxin'
__file_name__ = 'file1'import time#文件操作三步走:1.创建;2.操作;3.关闭文件
#文件操作六种模式:r(读模式),w(覆盖写模式),a(追加写模式),r+,w+.a+f=open('小重山',mode='r',encoding='utf=8')   #创建一个文件r1=f.read()   #进行相应的操作
print(r1)f.close()     #关闭文件,将缓存区的数据存入磁盘,如果不自己关,python可以关,但是不可靠
#输出:
# 昨夜寒蛩不住鸣。
# 惊回千里梦,已三更。
# 起来独自绕阶行。
# 人悄悄,帘外月胧明。
# 白首为功名,旧山松竹老,阻归程。
# 欲将心事付瑶琴。
# 知音少,弦断有谁听。

写模式:

f1=open('小重山2',mode='w',encoding='utf-8')   #创建文件的时候文件里面内容全部清空w1=f1.write("wahaha")
print(w1)
f1.fileno()
w2=f1.write("123\n")
print(w2)
time.sleep(50)       #放在内存里50秒f1.close()   #关闭文件,将缓存区的数据存入磁盘
#输出:wahaha123    没有空格,没有换行

追加模式a

f2=open("小重山2",mode='a',encoding="utf-8")a1=f2.write("一二三")
print(a1)f2.close()   #关闭文件,将缓存区的数据存入磁盘

R+模式:
特点:r+模式该怎么读就怎么读,写只能在最后写

# -*-coding:utf-8 -*-
__author__ = 'xiaojiaxin'
__file_name__ = 'rjia_wjia_ajia'#+模式  R+ w+ a+
#r+模式该怎么读就怎么读,写只能在最后写
f1=open("小重山",mode="r+",encoding="utf-8")print(f1.readline())
#输出昨夜寒蛩不住鸣。
f1.write("123")    #123写到了最末尾f1.close()# 昨夜寒蛩不住鸣。
# 惊回千里梦,已三更。
# 起来独自绕阶行。
# 人悄悄,帘外月胧明。
# 白首为功名,旧山松竹老,阻归程。
# 欲将心事付瑶琴。
# 知音少,弦断有谁听。123

W+模式
特点:创建即覆盖清空,光标在开头

#w+
f2=open("小重山2",mode="w+",encoding="utf-8")
print(f2.tell())  #0   因为写模式一创建就清空原有的文件
print(f2.readline())   # 表示读不了
print(f2.tell()) #0
f2.write("123")    #123写到了最末尾
print(f2.tell())  #光标在3字节上
f2.seek(0)        #把指针移到0位置
print(f2.readline())  #输出123f2.close()

a+模式
特点:光标在结尾,追加写,读数据需要用seek将指针光标移至前面

#a+
f3=open("小重山3",mode="a+",encoding="utf-8")
print(f3.tell())  #222   光标在结尾处
print(f3.readline())   # 表示读不了
print(f3.tell()) #222
f3.write("123")    #123写到了最末尾
print(f3.tell())  #225 光标在结尾处
f3.seek(0)        #把指针移到0位置
print(f3.readline())  #输出123f3.close()

实例:R、R+模式不能修改数据问题:

#final:r 、r+模式不能在中间写或修改数据,只能在最后追加写!不能修改原有的数据
f4=open("小重山4",mode="r+",encoding="utf=8")counter1=0
for line in f4:counter1+=1if counter1==3:  #希望在第三行加入别的数据#line=''.join([line.strip(),'i like it!'])f4.write("123")
f4.close()
# 昨夜寒蛩不住鸣。
# 惊回千里梦,已三更。
# 起来独自绕阶行。
# 人悄悄,帘外月胧明。
# 白首为功名,旧山松竹老,阻归程。
# 欲将心事付瑶琴。
# 知音少,弦断有谁听。123

怎么解决r+模式不能修改原文件问题:重新建一个文件,不停的拷贝到新文件,进行修改处理
实例: r+模式不能修改原文件的解决办法

# -*-coding:utf-8 -*-
__author__ = 'xiaojiaxin'
__file_name__ = 'modifyfile_inr+'#把f1的数据写进f2,并且修改第三行数据,加上"i add it "counter1=0
f2=open("小重山2",mode="w",encoding="utf-8")#小重山是完整的诗
f1=open("小重山",mode="r+",encoding="utf-8")#小重山2为空
for i in f1:j=icounter1+=1if counter1==3:j=''.join([j.strip(),"i add it",'\n'])f2.write(j)print(j)f1.close()f2.close()

读操作:

# -*-coding:utf-8 -*-
__author__ = 'xiaojiaxin'
__file_name__ = 'file2'f=open("小重山",mode="r",encoding="utf-8")readline1=f.readline()   #默认打印出换行符
print(readline1)
# 昨夜寒蛩不住鸣。
#
readline2=f.readline()
print(readline2)
# 惊回千里梦,已三更。
#
print(f.read(5))    #读出5个字符
# 起来独自绕
print(f.readlines(4))
#['阶行。\n', '人悄悄,帘外月胧明。\n']
print(f.readlines())    #变成列表
#['白首为功名,旧山松竹老,阻归程。\n', '欲将心事付瑶琴。\n', '知音少,弦断有谁听。']f.close()
# 输出:
# 昨夜寒蛩不住鸣。
#
# 惊回千里梦,已三更。
#
# 起来独自绕
#['阶行。\n', '人悄悄,帘外月胧明。\n', '白首为功名,旧山松竹老,阻归程。\n', '欲将心事付瑶琴。\n', '知音少,弦


文件遍历

f2=open("小重山",mode="r",encoding="utf-8")for i in f2.readlines():print(i.strip())    #strip去掉字符串首尾的空格
# 昨夜寒蛩不住鸣。
# 惊回千里梦,已三更。
# 起来独自绕阶行。
# 人悄悄,帘外月胧明。
# 白首为功名,旧山松竹老,阻归程。
# 欲将心事付瑶琴。
# 知音少,弦断有谁听。f2.close()

添加需求:在诗的第六行加一个字符串

#在诗的第六行加一个字符串:
f3=open("小重山",mode="r",encoding="utf-8")counter=0
for i in f3.readlines():counter+=1if counter==6:i=''.join([i.strip(),"i like it!"])  #尽量不用+,用join方法做字符串拼接print(i.strip())f3.close()
# 昨夜寒蛩不住鸣。
# 惊回千里梦,已三更。
# 起来独自绕阶行。
# 人悄悄,帘外月胧明。
# 白首为功名,旧山松竹老,阻归程。
# 欲将心事付瑶琴。i like it!
# 知音少,弦断有谁听。

转载于:https://blog.51cto.com/10777193/2070242

4.1Python文件基本操作相关推荐

  1. python文件操作的一般步骤_4.1Python文件基本操作

    Python文件基本操作 文件的读写方法有六种:W,R,A,W+,A+,R+ 读模式: # -*-coding:utf-8 -*- __author__ = 'xiaojiaxin' __file_n ...

  2. Linux 01 Liunx目录结构及文件基本操作

    Linux目录结构及文件基本操作 1.Linux的文件组织目录结构(遵循FHS标准) FHS(Filesystem Hierarchy Standard)标准: 多数Linux版本采用这种文件组织形式 ...

  3. Python文件基本操作

    Python文件基本操作 1.文件对象的属性 属性 描述 file.closed 如果文件已被关闭返回true,否则返回false. file.mode 返回被打开文件的访问模式. file.name ...

  4. more 目录linux,linux(二)目录结构、文件基本操作cat\more\less、环境变量、文件搜索...

    linux 目录结构及文件基本操作 linux文件结构: FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织 ...

  5. Unix/Linux下文件基本操作[zt]

    Unix/Linux下文件基本操作 来源: ChinaUnix博客 日期: 2008.06.16 17:16 (共有0条评论) 我要评论 比较重要的设备文件有三个,它们是/dev/console./d ...

  6. 二、Linux系统目录和文件基本操作

    (一)linux系统目录 1.相对路径 相对与当前系统位置,文件名称的简写,此名称前会自动添加'pwd'命令的输出, 相对路径文件名称前不会出现"/" 2.绝对路径 文件在系统中的 ...

  7. python的tell和seek_4.2Python文件基本操作2:tell、seek

    文件基本操作2:tell.seek 遍历方法之一:迭代器 Readlines方法缺点:readlines是把文件变成列表形式存入内存里面,如果文件很大,一下子全部变成列表,系统负担太重,所以readl ...

  8. PhotoShop文件基本操作

    PhotoShop文件基本操作 目录 保存工作区设置 图像大小缩放 图片信息查看 两张图像在同一页面打开 打开文件方式 新建画布 保存文件 保存工作区设置 窗口 ->工作区 -> 新建工作 ...

  9. python诗歌文件格式处理_Python文件基本操作

    Python文件基本操作 文件的读写方法有六种:W,R,A,W+,A+,R+ 读模式:# -*-coding:utf-8 -*-__author__ = 'xiaojiaxin'__file_name ...

  10. Linux目录结构和文件基本操作

    一.Linux目录结构 1.FHS(File System Hierarchy Standrad,文件系统层次结构标准) FHS定义了两层规范,第一层是/下面的各个目录应该要放什么文件数据,例如/et ...

最新文章

  1. React 事件 4
  2. 牛津、剑桥、OpenAI 等多家机构发布重磅报告,论述恶意人工智能的「罪与罚」
  3. ROS系统 创建工作空间与功能包
  4. ArrayList的实现原理--转
  5. JQuery元素操小结
  6. ubuntu中mysql怎么退出命令_ubuntu的Linux下安装MySQL
  7. 程序设计工程师c语言,《C语言程序设计》自学百问.doc
  8. texstudio如何安装cjk宏包_MikTex+TexStudio配置论文写作环境
  9. Spring-全局异常拦截
  10. application.properties文件配置详解(核心属性和Web属性) ——Spring Boot配置
  11. Spring Boot 集成 WebSocket,轻松实现信息推送!
  12. dex2jar 和 jd-gui
  13. 记python opencv的一次恶搞
  14. java 下载文件的文件名乱码_详细解决java文件下载文件名乱码问题
  15. 16G内存手机的福音,微信小程序也能建共享相册啦
  16. 爱阅书香之书源制作 POST请求方式
  17. 从0开始学c语言-总结01-c语言的粗略认识和快捷键
  18. 谷哥学术2022年资源分享下载列表 3/20
  19. C++ 夺冠!成为 TIOBE 2022 年度编程语言
  20. windows 修改磁盘盘符教程

热门文章

  1. dis 密集光流_密集光流估计的自监督注意力机制
  2. AttributeError: module 'torch._C' has no attribute '_cuda_setDevice'(在python命令后面加上 --gpu_ids -1)
  3. 二维数组最长递增java_动态规划设计之最长递增子序列
  4. em模型补缺失值_EM算法学习(三)
  5. bpmn js 生成json_js处理的8种跨域方法
  6. 深入理解for循环(执行顺序)
  7. day24-XSS过滤及单实例
  8. JSF+Spring+Hibernate整合要点
  9. git删除文件需要注意的事项
  10. 我的Android 4 学习系列之使用 Internet 资源