文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python基础学习8----文件基本操

2023-01-30 22:14

关注

一.文件的打开,open函数

f = open(file_name,mode)#创建文件对象

打开模式有很多种

  1. 'r': 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

  2. 'r+': 打开一个文件用于读写。文件指针将会放在文件的开头,但写入内容会写到文件内容末尾。

  3. 'w': 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

  4. 'w+': 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

  5. 'a': 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

  6. 'a+': 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。读文件时从文件内容的末尾读,因为文件指针放在文件的结尾。

with open as语句

不必写f.close(),会自动在末尾关闭文件,即使在文件操作中发生错误

with open('/path/to/file', 'r') as f:
    print(f.read())

  

二.文件对象的属性

  file.closed : 如果文件已被关闭返回true,否则返回false。

  file.mode : 返回被打开文件的访问模式。

  file.name : 返回文件的名称。

三.文件的关闭

file_object.close()

四.文件的读写操作

write方法

file_object.write(string)

read方法

file_object.read(count)#count为字节数,不填则读到文件末尾

readlines方法用于读取所有行

file_object.readlines( ) 
#文件内容如下
#12345
#67890
#09876
#54321
p=f.readlines()
print(p)
#输出为['12345\n', '67890\n', '09876\n', '54321']

五.文件的定位

tell方法

print(file_object.tell())#输出文件内的当前位置, 即下一次的读写会发生在文件开头多少字节之后。
#根据编码的不同,每个汉字所占的字节也不同,utf-8中一个汉字占3个字节,此处的数量和read函数的参数意义不同,read函数参数中1代表一个字符
#例如以下为文件内容
#这是汉字

print(file_object.read(3))#输出为这是汉

seek方法

seek(offset ,from)方法改变当前文件的位置。offset变量表示要移动的字节数。from变量指定开始移动字节的参考位置。

如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。

file_object.seek(3)#from参数默认为0

 六.截断文件

truncate() 方法用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字节。 如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。

file_object.truncate(size)

七.flush方法

flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

file_object.flush()

  

 

未完待续

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯