成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 数码科技

python 打印输出到文件中

Q1:Python 读写文件并按照固定格式输出

结果打印出来还是输出到文件 中?

Q2:python中怎么输入输出文件

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(sizhint=0)
读取文件所有的行,并作为一个列表返回(包括行结束符),如果sizhint>0则返回总和大约sizhint字节的行(具体由缓冲区大小决定)。
复制代码 代码如下:
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"
注意,文件写入的时候,不会自动加上换行符,必须手动加上。

Q3:python2.7 print 输出unicode到文件

123456#writefout=open(test,w);fout.write(u曾.encode(utf-8));#readfin=open(test,r);printfin.read().decode(utf-8);

Q4:Python 如果文件a中包含文件b,则将文件b的记录打印出来输出到c文件里

用list,dic,open就可以了

12345678910outKey={}forentryinopen("b.txt","r"):outKey[entry.strip()]=[]outHand=open("c.txt","w")forentryinopen("a.txt","r"):forvalueinentry.strip().split(","):(v1,v2)=value.split("/")ifv2inoutKey:outHand.write(entry)break;WW!w.BAZhisHI.cOM

猜你喜欢

更多