码迷,mamicode.com
首页 > 编程语言 > 详细

python 文件的基本操作

时间:2019-12-21 22:22:51      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:修改   log   操作   print   encoding   文件的基本操作   保存   ace   png   

 文件的概念

 文件的概念和作用

1.计算机的 文件,就是存储在某种 长期储存设备 上的一段 数据

2.长期存储设备包括:硬盘、U 盘、移动硬盘、光盘...

文件的作用

1.将数据长期保存下来,在需要的时候使用。

文件的存储方式

1.在计算机中,文件是以 二进制 的方式保存在磁盘上的

文本文件和二进制文件

1.文本文件

2.可以使用 文本编辑软件 查看

3.本质上还是二进制文件

例如:python 的源程序

1.二进制文件

2.保存的内容 不是给人直接阅读的,而是 提供给其他软件使用的

3.例如:图片文件、音频文件、视频文件等等

4.二进制文件不能使用 文本编辑软件 查看

python 中文件的基本操作:

 

不同模式打开文件的完全列表:

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

 

file对象相关的所有属性的列表:

 

属性描述
file.closed 返回true如果文件已被关闭,否则返回false。
file.mode 返回被打开文件的访问模式。
file.name 返回文件的名称。
file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。

 

例子1

#打开一个文件 名叫login.txt  以 w 的方式读取
File = open("login.txt", "w",encoding="UTF-8")
#向文件写入一行数据
File.write("这是第一行\n")
File.write("这是第二行\n")
File.close()

注意:open 打开文件不指定路径默认在当前文件夹创建

执行结果: 会建立一个文件并将内容写入进去

技术图片

技术图片

例子2

#打开一个文件 将一条信息追加进去
loginFile = open("login.txt", "a",encoding="UTF-8")
loginFile.write("这是第3行\n")
#关闭文件
loginFile.close()

执行结果:可以看到文件又多加了一行

技术图片

例子3

f6  = open("login.txt","rb")                 #以二进制文件格式读这个文件
print(f6.readline())
print(f6.readline())
print(f6.readline())
f6.close()

例子4

#with语句作用,为了避免打开文件后忘记关闭

with open("file_test","r",encoding="utf-8") as f:          #类似于f = open("file_test","r",encoding="utf-8")

with open("file_test","r",encoding="utf-8") as f, \        #还可以同时打开多个文件
        open("file_test2","r",encoding="utf-8") as f2:

例子5

#flush用法
f = open("file_test","w",encoding="utf-8")
f.write("hello\n")
f.write("hello\n")
f.write("hello\n")
f.flush()       #当往文件写内容的时候,会有一个缓存,达到一个时间,一次往文件写入。如果这时候断电可能内容并没有写入成功,flush刷新会立即执行

文件的修改

#打开一个文件,修改完了写到一个新文件
f = open("file_test","r",encoding="utf-8")
f_new = open("file_new","w",encoding="utf-8")
for line in f:                               #按行取出,每行都是一串字符串
    if "fengxiaoli" in line:
        line = line.replace("fengxiaoli","FENGXIAOLI")       #对字符串进行操作,J
    f_new.write(line)
f.close()
f_new.close()

python 文件的基本操作

标签:修改   log   操作   print   encoding   文件的基本操作   保存   ace   png   

原文地址:https://www.cnblogs.com/love2000/p/12078221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!