python--005--文件操作

Posted jinf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python--005--文件操作相关的知识,希望对你有一定的参考价值。

1. 文件处理流程:

 1)打开文件,得到文件句柄并赋值给一个变量
2)通过句柄对文件进行操作(读、写、追加等)
3)关闭文件

#========文件处理读操作=========

ps:文件名为 尘粒.txt
f=open(尘粒,r,encoding=utf-8)     #python3自动使用utf-8,但是open函数会遵从操作系统的编码
# data=f.read()   #这个读完后,光标会到最后,再次readline会为空
# print(data)
print(第一行,f.readline(),end=‘‘)   #end=‘‘加上这个就去掉了最后的换行
print(第2行,f.readline())
f.close()

output:
第一行 hello你好
第2行 djdhudjddkdkdd

 

f=open(尘粒,r,encoding=utf-8)
data=f.readlines()
print(data)
f.close()

output:
[hello你好\n, djdhudjddkdkdd\n, 222\n, 444\n, \n]


#========文件处理写操作=========
注: f.writelines([‘777\n‘,‘888\n‘,1])   # 文件内容只能是字符串,只能写字符串,这样写会报错
f=open(尘粒,w,encoding=utf-8)  #使用w会覆盖写
#f.read()
f.write(11111\n)  #注意换行符需要自己加,不会自动加
f.write(22222\n)
f.write(你好\n444\n666\n)
print(f.writable())   #是否可写
# f.writelines([‘777\n‘,‘888\n‘,1])#文件内容只能是字符串,只能写字符串
f.close()

output:
True

尘粒.txt:
11111
22222
你好
444
666

#========文件处理追加操作=========

f=open(尘粒,a,encoding=utf-8)
f.write("写到最后")
f.close()

尘粒.txt:
11111
22222
你好
444
666
写到最后

打开文件的模式有:
r:只读模式
w:只写模式 (注意会覆盖写)
a:追加模式
r+:读写【可读,可写】
w+:写读【可写,可读】
a+:

#==========r+ 读写模式============
注:r+ 来写文件,文件没有修改,全是覆盖,光标在哪,就从哪里写
f=open(尘粒,r+,encoding=utf-8)
f.write("r+模式")
f.close()

#文件没有修改,全是覆盖,光标在哪,就从哪里写,所以这个例子,会覆盖前面的字符为 r+模式

尘粒.txt:
r+模式2222
你好
444
666
写到最后



#==========练习============、
#eg:将源文件修改部分内容后,写入新文件
src_f=open(尘粒,r,encoding=utf-8)
data=src_f.readlines()
src_f.close()
print(data)

dst_f=open(尘粒,w,encoding=utf-8)
#dst_f.writelines(data)
dst_f.write(data[0])
dst_f.close()

output:
[r+模式2222\n, 你好\n, 444\n, 666\n, 写到最后]
尘粒.txt:
r+模式2222


#=======with======

#利用with就可以不用f.close了,系统自动帮忙close
with open(a.txt,w)as f:
    f.write(11111\n)

output:
11111

# src_f=open(‘尘粒‘,‘r‘,encoding=‘utf-8‘)
# dst_f=open(‘尘粒_new‘,‘w‘,encoding=‘utf-8‘)\
#with打开两个文件
with open(尘粒,r,encoding=gbk)as src_f,open(尘粒_new,w,encoding=gbk)as dst_f:
    data=src_f.read()
    dst_f.write(data)

尘粒.txt:
r+模式2222

尘粒_new.txt:
r+模式2222


以上是关于python--005--文件操作的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode 如何操作用户自定义代码片段(快捷键)

Learn Python 005: Random

python-005(1-100奇数和偶数)

python-005(1-100奇数和偶数)