[Python学习路线]--Python基础no.04

回顾03的内容,其难点主要在于文件的操作
在04中,主要复习和巩固对文件操作,加深对其理解。

文件的更多操作

常用打开模式:
r  只能读 
r+ 可读可写,不会创建不存在的文件,从顶部开始写,会覆盖之前此位置的内容
w+ 可读可写,如果文件存在,则覆盖整个文件,不存在则创建
w  只能写,覆盖整个文件,不存在则创建 
a  只能写,从文件底部添加内容 不存在则创建 
a+ 可读可写 从文件顶部读取内容 从文件底部添加内容 不存在则创建

但是实验发现,这里的r+ 可读可写 不会创建不存在的文件 从顶部开始写 会覆盖之前此位置的内容不完整。

另外我们在操作时发现了seek的使用方法
类似于指针,若我们直接执行read()方法,它会将整个文件读取完毕。从而指针指向的位置就是文件末尾。
这样无论执行truncate()还是方法都操作不到相应的内容了。

尝试写一个脚本去copy文件

copyfile.png

执行结果:

FANGQIdeMacBook-Pro:PythonStudy fangqi$ python3 ex12.py ex12_operate.txt 
This shell will copy the file ex12_operate.txt to the file ex12_operate.txt_copy
All is down
copy_successfully.png

对truncate的巩固

image.png
  • 标注中的print没有打印出来,原因和之前的一样。
    在使用了truncate清空了之后的内容,指针的位置没有转移,在执行read()的时候文件之后没有任何内容。因此打印为空行。
  • truncate() 可以传入整型的参数,表示从当前位置截取多少位保留,其余的都删掉。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容