问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python中怎么输入输出文件

发布网友 发布时间:2022-04-21 08:20

我来回答

1个回答

热心网友 时间:2022-04-07 13:43

1.打开和关闭文件(open(),file(),close())

有两种内建函数可以获取文件对象:open和file。他们的用法完全一样。下面只以open()为例子讲解。获取一个文件对象(打开文件)的语法如下:

复制代码 代码如下:fileObj = open(filename,access_mode='r',buffering=-1)
filename不用说你也应该知道是你要打开文件的路径。
access_mode用来标识文件打开的模式,默认为r(只读)。

常用的模式如下表所示:

文件模式 解释
r 以只读方式打开
w 以写方式打开,文件不为空时清空文件;文件不存在时新建文件。
a 追加模式,没有则创建
r+,w+,a+ 以读写模式打开,参见w,a

另外还有一个b表示二进制模式访问,但是对于Linux或者unix系统来说这个模式没有任何意义,因为他们把所有文件都看作二进制文件,包括文本文件。

第三个参数不经常用到,标识访问文件的缓冲方式,0代表不缓冲,1代表缓
冲一行,-1代表使用系统默认缓冲方式。只要使用系统默认就好。

一些例子:

复制代码 代码如下:
>>> f = open('/etc/passwd','r')
>>> f1 = open('/etc/test','w')

使用完文件后,一定要记得关闭文件,操作如下:

复制代码 代码如下:
>>> f.close()

2.文件读入

2.1.file.read(size = -1)
读取从当前文件游标起size个字节的文件内容。如果size=-1,则读取所有剩余字节。

复制代码 代码如下:
>>> f = open('/etc/passwd')
>>> f.read(100)
'root:x:0:0:root:/root:/bin/bash\nbin:x:1:1:bin:/bin:/sbin/nologin\ndaemon:x:2:2:daemon:/sbin:/sbin/nol'

2.2.file.readlines(size=-1)

从文件中读取并返回一行(包括行结束符),或返回最大size个字符

复制代码 代码如下:
>>> f.readline()
'ogin\n'#和上面一个例子输出的最后拼起来就是 'nologin',因为游标在l后面。
>>> f.readline(1)
'a'

2.3.file.readlines(sint=0)
读取文件所有的行,并作为一个列表返回(包括行结束符),如果sint>0则返回总和大约sint字节的行(具体由缓冲区大小决定)。

复制代码 代码如下:
f.readlines()
['dm:x:3:4:adm:/var/adm:/sbin/nologin\n', 'lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin\n', 'sync:x:5:0:sync:/sbin:/bin/sync\n', 'shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\n', 'halt:x:7:0:halt:/sbin:/sbin/halt\n', 'mail:x:8:12:mail:/var/spool/mail:/sbin/nologin\n', ......

输出省略。

3.文件输出

3.1.file.write(str)
向文件中写入指定的字符串。

复制代码 代码如下:
>>> f = file('/root/test.py','w+')
>>> f.write("print 'hello,world'")
>>> f.read()
''
>>> f.close()
>>> file('/root/test.py','r').read()
"print 'hello,world'"

3.2.file.write(seq)

向文件写入字符串序列seq。seq是任何返回字符串的可迭代对象。

复制代码 代码如下:
>>> f = file('/root/test.py','a+')
>>> codelst = ['\n','import os\n',"os.popen('ls').read()\n"]
>>> f.writelines(codelst)
>>> f.close()
>>> file('/root/test.py','r').read()
"print 'hello,world'\nimport os\nos.popen('ls').read()\n"

注意,文件写入的时候,不会自动加上换行符,必须手动加上。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? python文本怎么输入输出?python文本输入输出方法 怎么在Python中输入编程? python如何输入输出中文 python如何输入多个参数 python如何输入任意字符重复运行一次代码? 请问Python如何打出这些字符串? python中怎么输入数据 如何输入python代码 Apple+watchse表盘左上角上出现蓝色小方框 长期喝普通饮水机里的水会上火么? 饮水机里的水反复烧开对身体有害吗 饮水机里的水反复烧可以喝吗? 经常喝饮水机里的水好不好 饮水机里的水反复烧开对身体有害吗? 经常喝饮水机里的水好吗? 饮水机里的水能保存几天? 经常喝饮水机里的热水对身体有害吗 饮水机里的水能保存几天 饮水机上面水桶里的水是热的,这是怎么回事?! 饮水机里的水喝了会有什么危害? python单引号怎么输入 python如何自行输入一串数字。。。。我是零基础。。 python中如何在一行输入n个数字 xcode写python怎么输入 python怎么从键盘输入数字 红米手机note4电池外层纸可以拆吗? 红米4X怎么换电池 旧红米手机,电池坏了,把电池拆了? 红米4高配如何拆后壳 红米手机没电了充不进去电怎么办 macbookpro按空格键出现蓝色框框 安踏霸道双层网面怎么洗 安踏ufo天体踩得开吗?感觉咋样? 安踏的企业文化 安踏怎么样 深度评测安踏品牌及其产品质量与性价比? 安踏鞋15大技术系统是什么 ANTA安踏篮球鞋 安踏37度脚踝力量不够 可以穿吗 安踏和匡威这两个品牌哪个好? 安踏篮球鞋排行榜前十名