Python文件的基本操介绍


本文摘自php中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于Python文件的基本操介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

文件处理流程

1.打开文件,得到文件句柄并赋值给一个变量

2.通过句柄对文件进行操作

3.关闭文件

r模式,默认模式,文件不存在则报错

w模式,文件不存在则创建,文件存在则覆盖

a模式,文件不存在则创建,文件存在则不会覆盖,写内容会以追加的方式写(写日志文件的时候常用),追加模式是一种特殊的写模式

b(rb,wb,ab)模式:不用加encoding:utf-8

基本操作

打开文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

open(path, flag[, encoding][, errors])

path:要打开文件的路径

flag:打开文件的方式

r   以只读的方式打开文件,文件的描述符放在文件的开头  

rb  以二进制格式打开一个文件用于只读,文件的描述符放在文件的开头

r+  打开一个文件用于读写,文件的描述符放在文件的开头

w   打开一个文件只用于写入,如果该文件已经存在会覆盖,如果不存在则创建一个新文件

wb  打开一个文件只用于写入二进制,如果该文件已经存在会覆盖,如果不存在则创建一个新文件

w+  打开一个文件用于读写,如果该文件已经存在会覆盖,如果不存在则创建一个新文件

a   打开一个文件用于追加,如果文件存在,文件描述符将会放在文件末尾

a+  encoding:编码格式

errors:错误处理

 

path = r"C:\Users\Desktop\file1.txt"#ignore  忽略错误f = open(path, "r",encoding="gbk")

打开文件的模式有:

  • r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】

  • w,只写模式【不可读;不存在则创建;存在则清空内容】

  • x, 只写模式【不可读;不存在则创建,存在则报错】

  • a, 追加模式【可读; 不存在则创建;存在则只追加内容】

"+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写】

  • w+,写读【可读,可写】

  • x+ ,写读【可读,可写】

  • a+, 写读【可读,可写】

"b"表示以字节的方式操作

  • rb 或 r+b

  • wb 或 w+b

  • xb 或 w+b

  • ab 或 a+b

注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

读文件内容

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

# 1、读取文件全部内容

str1 = f.read()

print(str1)

 

# 2、读取指定字符数

str2 = f.read(10)

print("*"+str2+"*")

str3 = f.read(10)

print("*"+str3+"*")

 

# 3、读取整行,包括"\n"字符

str4 = f.readline()

print(str4)

str5 = f.readline()

print(str5)

 

# 4、读取指定字符数

str6 = f.readline(10)

print(str6)

 

# 5、读取所有行并返回列表

list7 = f.readlines()

print(list7)

 

# 6、若给定的数字大于0,返回实际size字节的行数

list8 = f.readlines(20)

print(list8)

 

# 7、修改描述符的位置

f.seek(10)

str9 = f.read()

print(str9)

关闭文件

f.close()

1

2

3

4

5

6

7

#   一个完整的过程

try:

    f1 = open(path,"r", encoding="gbk")

    print(f1.read())

finally:

    if f1:

        f1.close()

1

2

with open(path,"r",encoding="gbk") as f2:  

print(f2.read())

写文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

path = r"C:\Users\Desktop\file4.txt"

f = open(path,"w")

 

#   1、将信息写入缓冲区

f.write("lee is a good man")

 

#   2、刷新缓冲区

#   直接把内部缓冲区的数据立刻写入文件,而不是被动的等待自动刷新缓冲区写入

f.flush()

f.write("lee is a good man\n")

f.close()

 

with open(path,"a") as f:

    f.write("good man")

1

2

3

4

5

with open('a.txt','w')  as  f:

  pass

with open('a.txt','r')  as read_f,open('b.txt','w')  as  write_f:

  data=read_f.read()

  write_f.write(data)

1

2

3

4

5

6

7

8

9

10

11

path = r"C:\Users\yanji\Desktop\day7\test1"

with open(path,"wb") as f3:

    str = "lee is a good man"

    f3.write(str.encode("utf-8"))

with open(path,"rb") as f2:

    data = f2.read()

    print(data)

    print(type(data))

    newDate = data.decode("utf-8")

    print(newDate)

    print(type(newDate))

以上就是Python文件的基本操介绍的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python求两个数的最大公约数

Python实现超简单的视频对象提取功能

实例解析Python单元测试及unittest框架用法

Python2.7和3.7的区别

Python怎么增加矩阵维度

Python中raise 与 raise ... from之间有何区别?

Python如何反转字符串

安装Python后如何打开

Python的错误与异常处理

Python共发布过哪些版本

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...