文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python学习:文件(file)

2023-01-31 01:56

关注

内置open()函数会创建一个Python文件对象,可以作为计算机上的一个文件链接。在调用open()之后,可以通过调用返回文件对象的方法来读写相关外部文件。

  • 打开文件:

output = open('C:\spam', 'w')       #打开文件,模式为写入
input = open('C:\spam', 'r')        #打开文件,模式为读出
input = open('C:\spam')             #同上,默认为'r'
  • 文件的读操作:

aString = f.read()              #把整个文件读进单一字符串aString中
aString = f.read(N)             #读取文件的前N个字符,存入aString
aString = f.readline()          #读取一行
aString = f.readlines()         #读取整个文件,存入字符串列表aString
  • 文件的写操作:

f.write(aString)                #写入aString字符串到f文件
f.writelines(aList)             #把列表aList中的所有字符串写入文件f
  • 关闭文件:

f.close()

其他操作:

f.flush()              
f.seek(N)                #修改文件位置到偏移量N处,进行下一步操作
for line in f.open('myfile'):           #文件迭代器一行一行的读取
open('filename.txt', encoding='latin-1')     #Python3. Unicode文本文件(string字符串)
open('filename.txt', 'rb')        #Python3.0二进制byte文件(bytes字符串)

注:文件数据在脚本中一定是字符串,而写入方法如f.write()不会替我们坐任何字符串转换工作,需要我们手动转换。

  • 内置函数eval()

>>>line = F.readline()
>>>line
"[1,2,3]${'a':1, 'b':2}\n"
>>>parts = split('$')
>>>parts
['[1,2,3]', "{'a':1, 'b':2}\n"]
>>>eval(parts[0])
[1,2,3]
>>>obj = [eval(P) for P in parts]
>>>obj
[[1,2,3],{a':1, 'b':2}]


  • 用pickle模块存储Python的原生对象

pickle模块是能够让我们直接在文件中存储几乎任何Python对象的高级工具,也并不要求我们把字符串转换来转换去。它就像是超级通用的数据格式化和解析工具。例如,想要在文件中存储字典,就直接用pickle来储存。

>>>D = {'a':1, 'b':2}
>>>F = open('myfile', 'wb')
>>>import pickle
>>>pickle.dump(D,F)

之后想要取回字典时:

>>>pickle.load(F)

事实上,pickle内部将字典转成字符串形式。

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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