r | 读取文件,如果文件不存在,报错FileNotFoundError: |
r+ | 读写,写的时候在文件最后位置写 |
rb | 要读取二进制文件,比如图片、视频等等,用'rb'模式打开文件即可 |
w | 写操作;如果文件存在覆盖写入,如果文件不存在,创建该文件.无法直接读取文件。无法在文本中指定位置写入 |
w+ | 写读,先创建一个文件,再往文件中写,如果有相同名字的文件,覆盖。无法在文本中指定位置写入 |
a | 追加写操作,不会覆盖源文件,无法直接读取文件 |
u | Ubia |
encoding=“ ” | encoding操作对文件使用什么样的编码格式 |
f.tell() | 显示光标在文本中的当前位置 |
f.seek() | 指定光标返回的位置 |
f.readline() | 显示文本的一行内容 |
f.readlines() | 把文本转换为列表 |
f.flush() | 跳过缓存,直接写在硬盘中 |
f.replace() | 替换文件内容 |
由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来实现:
try:
f = open('fix-zhang', 'r')
print(f.read())
finally:
if f:
f.close()
#这种方式太繁琐,可以用表中的简化方式来写
对文件内容的循环:
f = open("lyrics.txt","r",encoding="utf-8")
for line in f:
print(line.strip())
#实现一个交换机,路由器等设备开机时的一个显示.
import sys,time
for boot_strap in range(25):
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.1)
--------------------------结果:依次输出#---------------------------
#########################
Process finished with exit code 0
对文件的修改:
with open("lyric.txt", "r", encoding="utf-8") as f,\
open("lyric_new.txt", "w", encoding="utf-8") as f_new:
for line in f:
if "才是考验" in line:
line = line.replace("才是考验", "考验你个大头鬼")
f_new.write(line)
简单点说话的方式简单点
递进的情绪请省略
你又不是个演员
别设计那些情节
没意见我只想看看你怎么圆
你难过的太表面 像没天赋的演员
观众一眼能看见
该配合你演出的我演视而不见
在逼一个最爱你的人即兴表演
什么时候我们开始收起了底线
顺应时代的改变看那些拙劣的表演
可你曾经那么爱我干嘛演出细节
我该变成什么样子才能延缓厌倦
原来当爱放下防备后的这些那些
考验个大头鬼
...