文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

九、Python高级功能之文件读写

2023-01-31 05:48

关注

Python高级功能之文件读写


一、Python进行文件读写的函数时open或file

    file('filename','mode')

open('filename','mode')

mode模式

r    只读

r+   读写

w    写入,先删除原文件,再重新写入,如果文件没有则创建

w+   读写,先删除源文件,再重新写入,如果文件没有泽创建(可以写入输出)

a    写入,在文件末尾追加新的内容,文件不存在则创建

a+   读写,在文件末尾追加新的内容,文件不存在则创建

b    打开二进制文件,可以与r,w,a,+结合使用

U    支持所有的换行符号 \r,\n,\r\n


>>> fo = open('/root/test.txt')   #打开文件

>>> fo

<open file '/root/test.txt', mode 'r' at 0x7ff52bd64d20>

>>> fo.read()    #读取文件

'asdfaf\nasdfad\nafd\n'

>>> fo.close()   #关闭文件


>>> fo = open('/root/new.txt','w')   #以w的模式打开文件,没有则创建

>>> fo.write('hello \ni am new')   #写入内容

>>> fo.close()    #关闭文件



二、文件对象方法

FileObject.close()   #关闭

String = FileObject.readline([size])   #每次读取一行,size是指每行每次读取size个字符,直到行的末尾(超出范围输出空值)

>>> f1 = open('text.txt')

>>> f1.readline()

'www.csvt.net\n'

>>> f1.readline()

'i am sdfasd\n'

>>> f1.readline()

'hello world\n'

>>> f1.readline()

''

List = FileObject.readlines([size])  #每行为单位,返回一个列表,size是指每行每次读取行的size个字符,直到行的末尾

>>> f1 = open('text.txt')

>>> f1.readlines()

['www.csvt.net\n', 'i am sdfasd\n', 'hello world\n']


String = FileObject.read([size])   #读出文件所有内容,并复制给一个字符串

>>> f1.read()

'www.csvt.net\ni am sdfasd\nhello world\n'

FileObject.next()     #返回当前行,并将文件指针到下一行(超出范围,停止输出)

>>> f1 = open('text.txt')

>>> f1.next()

'www.csvt.net\n'

>>> f1.next()

'i am sdfasd\n'

>>> f1.next()

'hello world\n'

>>> f1.next()

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

StopIteration

FileObject.write(string)

FileObject.writelines(List)

FileObject.seek(偏移量,选项) 

 选项为0时,表示将文件指针指向从文件头部到“偏移量”字节处

 选项为1时,表示将文件指针指向从文件的当前位置,向后移动”偏移量“字节

 选项为2时,表示将文件指针指向从文件的尾部,向前移动“偏移量”字节

FileObject.flush() #提交更新

 


例子:

文件查找:

统计文件中hello个数

#!/usr/bin/python

import re

fp = file("text.txt",'r')

count = 0

for s in fp.readlines():

    li = re.findall("hello",s)

    if len(li)>0:

        count = count + len(li)

print "Search %d hello" % count

fp.close()


文件内容替换:

将文件中hello替换为abc,并保存结果到text2.txt文件中

#!/usr/bin/python

fp1 = file("text.txt",'r')

fp2 = file("text2.txt",'w')

for s in fp1.readlines():

    fp2.write(s.replace("hello","abc"))

fp1.close()

fp2.close()


将文件中hello替换为abc

#!/usr/bin/python

fp1 = open("text.txt",'r+')

s = fp1.read()

fp1.seek(0,0)

fp1.write(s.replace("hello","abc"))

fp1.close()

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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