课程中的问题
1、用with open(文件名1) as 别名1,open(文件名2) as 别名2的方式同时打开两个文件,那么打开这两个文件和关闭这两个文件的先后顺序是啥呢?哪个先打开,哪个后打开?
2、这里没有写flush(),会有啥问题吗?不能被动地等待缓冲区写入么?被动地等待输出缓冲区写入是指:文件关闭后会自动刷新缓冲区,意思是文件关闭后,缓冲区的内容还可以写入文件里???
3、while true里为啥不写flush()?因为将rest变量内容存入f_dist文件中,下次循环给rest重新赋值之前,缓冲区中的rest变量内容就会赶紧写入f_dist文件中,然后再修改rest变量的值,是这样么?
正在回答 回答被采纳积分+1
同学,你好,python是支持同时打开多个文件的。例:
# 同时打开a和b文件 # with open('a.txt', 'r') as a, open('b.txt', 'r') as b: # print(b.read()) # print(a.read()) # 先打开a再打开b with open('a.txt', 'r') as a: with open('b.txt', 'r') as b: print(a.read()) print(b.read())
问题2:
flush方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区。正常情况下缓冲区满时,操作系统会自动将缓冲数据写入到文件中。文件关闭时,原理是内部先调用flush方法来刷新缓冲区,再执行关闭操作,这样即使缓冲区数据未满也能保证数据的完整性。
问题3:内层while循环将读取到的内容赋值给变量rest,然后再进行写入,可能会存在内容在缓冲区中并没有写入的情况,当缓冲区满时,会自动将缓冲数据写到文件中,或者是可以在读取和写入结束后一次性的flush刷新缓冲区。
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星