Python文件操作(file)

文件操作的步骤:

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件(操作文件后记住关闭)

1.读写文件的基础语法:

open() 将会返回一个 file 对象,基本语法格式如下:

open(filename, mode)
  • filename:变量包含你要访问的文件路径名称
  • mode:决定打开文件的模式:读、写、追加等;默认文件的访问方式为只读(r)。

2.文件打开方式列表:

\\\模式\\\ 描述
r 以只读方式打开文件。文件的指针会放在文件开头,默认模式。
rb 以二进制格式打开一个文件用于只读,文件的指针会放在文件开头。copy文件时可以使用该模式;
r+ 打开一个文件用于读写,文件的指针会放在文件开头。
rb+ 以二进制格式打开一个文件用于读写,文件的指针会放在文件开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

3.writable() 和 readable()用于判断文件是否可写 或者 可读

with open("b.txt","r",encoding="utf-8") as b:print(b.readable())print(b.writable())

输出:

True
False

4.losed判断文件是否为打开状态!

f = open("b.txt","r",encoding="utf-8")
print(f.closed)
f.close()
print(f.closed)

输出:

False
True

2 Python File(文件)操作方法

知:有a.txt文件

正趣果上果
Interesting fruit fruit词:郭婞
曲:陈粒
编曲/混音/和声:燕池
萧:吗子
Words: Guo 婞
Song: Chen tablets
Arrange / Mix / Harmony: Yan Chi
Xiao: Well你佩桃木降妖剑
他会一招不要脸
哇呀呀呀
输在穷B
输在穷B
You wear peach down demon sword
He will shamelessly
Wow yeah
Lost in the absence of money
Lost in the absence of money

1.file.close()关闭文件,关闭文件不能再进行读写操作
close() 方法语法如下:

fileObject.close();

实例:

f = open("a.txt","r",encoding="utf-8")      # 打开文件依照“r”模式,字符编码为“utf-8”
first_line = f.readline()   # 读文件 1 行
print(first_line)f.close()                   # 关闭文件
print(f.closed)             # 用于判断 文件是否关闭状态

输出:

正趣果上果True

2.file.flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入
flush() 方法语法如下:

fileObject.flush();

实例:

f = open("b.txt","w",encoding="utf-8")
f.write("Python 是一个非常好的语言。\n是的,的确非常好!!\n")
f.flush()                                # 刷新缓冲区 会 立即将文件写入硬盘
f.close()

**3.__next__返回文件下一行。**

f = open("a.txt","r",encoding="utf-8")
print(f.__next__().strip())

输出:

正趣果上果

4.read([size])从文件读取指定的字节数,未指定读取所有内容。

with open("a.txt","r",encoding="utf-8") as a:print(a.read())

输出:

正趣果上果
... ...
Lost in the absence of money

5.readline([size])读取整行,包含"\n"字符,[size]返回指定大小的字节数

with open("a.txt","r",encoding="utf-8") as a:print(a.readline().strip())print(a.readline(4))

输出:

正趣果上果
Inte

6.readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表

with open("a.txt","r",encoding="utf-8") as a:print(a.readlines())

7.seek(offset[, whence])设置文件的当前位置
offset:开始的偏移量,也就是代表需要移动偏移的字节数
whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

with open("a.txt","r",encoding="utf-8") as a:a.seek(30)                  # 将光标从 0 移动 30 个 字节print(a.readline())         # 打印这行剩余的内容print(a.tell())             # Widnows 系统下的换行代表2个字符,所以打印这行结束的 光标位置

输出:

ruit fruit
42

8.tell()打印当前光标所在的位置

with open("a.txt","r",encoding="utf-8") as a:print(a.readline())         # 打印这行剩余的内容print(a.tell())             # 打印这行结束的 光标位置

输出:

正趣果上果17

9.write(str)将字符串写入到文件,没有返回值

with open("b.txt","w",encoding="utf-8") as b:b.write("你好中国!")

输出如b.txt,不存在创建,存在覆盖;并写入你好中国:

你好中国!

10.writelines()向文件中写入一序列的字符串,这一序列字符串可以是由迭代对象产生的,如一个字符串列表,换行需要\n符

with open("b.txt","w",encoding="utf-8") as b:b.writelines(["你佩桃木降妖剑\n","他会一招不要脸\n"])

输出创建b.txt:

你佩桃木降妖剑
他会一招不要脸

11.writable() 和 readable()用于判断文件是否可写 或者 可读
with open("b.txt","w+",encoding="utf-8") as b:
b.writelines(["你佩桃木降妖剑\n","他会一招不要脸\n"])
print(b.readable())
print(b.writable())

文件处理案例

1. sed替换文件内的指定内容
cat sed.py

import sys
import osif len(sys.argv) != 4:                                         # 判断用户给的参数个数print("\"want 4 parameters\"Usage: sed.py old_file new_file file_name")exit(1)with open(sys.argv[3],"r",encoding="utf-8") as a_r, open("."+sys.argv[3]+"swp","w",encoding="utf-8") as b_w:for i in a_r:b = i.replace(sys.argv[1], sys.argv[2])                # 替换用户输入的参数b_w.write(b)os.remove(sys.argv[3])                                         # 删除源文件
os.rename("."+sys.argv[3]+"swp",sys.argv[3])                   # 将swp文件重新命名为 源文件

2.copy一个不知存储方式的文件到别处
cat copy.py

import sys# print(sys.argv)
if len(sys.argv) != 3:                                         # 判断用户给的参数个数print("\"want 3 parameters\"Usage: cp [OPTION]... SOURCE DEST")exit(1)with open(r"%s" % sys.argv[1],"rb") as ly_r, open(r"%s" % sys.argv[2],"wb") as ly_w:for i in ly_r:ly_w.write(i)

转载于:https://www.cnblogs.com/baolin2200/p/6406389.html

005-2-Python文件操作相关推荐

  1. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  2. python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  3. Python文件操作学习总结

    Python读写文件 1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open( ...

  4. 【Python】学习笔记总结3(Python文件操作)

    文章目录 三.Python文件操作 1.打开`open('文件名','打开模式')` 2.写操作 3.读操作 4.With上下文管理对象 小结 案例 5.文件定位 三.Python文件操作 1.打开o ...

  5. python文件操作实验总结,[干货分享]Python文件操作技巧总结

    引言 小伙伴们,今天给大家讲解一下python程序下的文件操作完整技巧梳理,都是笔者总结的干货.通过本文阅读,不仅可以带来生产力提升,也可以开发小脚本为生活带来乐趣.         首先不知道大家对 ...

  6. 关于python文件操作

    关于python文件操作 总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当 ...

  7. Python文件操作与函数目录

    文件操作 python文件操作 函数 Python函数学习--初步认识 Python函数学习--作用域与嵌套函数 Python函数学习--匿名函数 python内置函数 Python函数学习--递归 ...

  8. python文件操作的方法_python文件操作的方法介绍

    文件操作 1.open()函数 open()函数主要用于文件处理,一般分为下面3个过程:1.打开文件 2.操作文件 3.关闭文件 常见的格式示例:f = open('note.txt','r') f. ...

  9. python打开鼠标指定文件夹_学会python文件操作,鼠标好像没用了,学习python第10天...

    电影是人类对未来的向往,在<黑客帝国>中,我们看到了一个数字化的社会,而当你学会python文件操作,你也就离你向往的黑客近一点了,用程序来直接影响电脑上的其他文件,只需要几行代码就搞定. ...

  10. python对文件操作的相关函数_第六章、Python文件操作

    第六章.Python文件操作 Python可以对文件进行查看.创建等功能,可以对文件内容进行添加.修改.删除,且所使用到的函数在Python3.5.x为open,在Python2.7.x同时支持fil ...

最新文章

  1. 在maven项目中使用Junit进行单元测试(一)
  2. Vmware7.1.4安装+破解+汉化
  3. GDCM:gdcm::Item的测试程序
  4. 一个被遗忘的ccflow工作流引擎自定义表单开发模式
  5. 看来cmwap真的是没有可以使用的邮件客户端了
  6. rstudio 管道符号_R中的管道指南
  7. python语音分割_用7行Python代码构建自己的有声读物
  8. 漢城博殺的日子 (一)
  9. UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例)
  10. python高级编程总结
  11. 软件工程导论 05章总体设计
  12. svn —— 版本回退
  13. Apex-逃离塔科夫机器码彻底解决(年度最新讲解可观看)
  14. 进销存小程序(一)项目整体功能和设计
  15. 低电平有效的三种表示方法
  16. WebStorm2016.1.1免注册破解方法
  17. 管理:49个终身受用的职场“顶级思维”!
  18. oracle rebuild online,Oracle index rebuild online 与 rebuild 及 drop index 后重建
  19. C语言的转义字符,八进制
  20. 青龙面板-快手极速版(每天3块脚本)

热门文章

  1. 2022GPLT团体程序设计天梯赛L1-086 斯德哥尔摩火车上的题
  2. 宇宙是一个无始无终的循环?道翰天琼认知智能机器人平台API接口大脑为您揭秘-2。
  3. 对于开发软件的NABCD分析
  4. Linux启动时出错failed to load SELinux policy.Freezing
  5. MySQL中建表时的int(m)中的m代表什么意思?
  6. ORACLE-EBS常用表
  7. 小米手机 加载桌面 失败 黑屏
  8. 五步打造APP节日主题设计:以Lofter新年图标设计为例
  9. [渝粤教育] 郑州轻工业大学 自动控制原理 参考 资料
  10. canvas 实现会动眼睛的企鹅