设为首页 收藏本站
查看: 782|回复: 0

[经验分享] python 文件操作(转)

[复制链接]

尚未签到

发表于 2017-4-26 11:20:04 | 显示全部楼层 |阅读模式
Python笔记——基本文件操作
通过内置函数open对文件进行操作
打开一个文件时,返回一个文件对象
 
open(filename [,mode[,bufsie]])
filename:打开的文件名,若非当前路径,需指出具体路径
mode:可选参数,文件打开模式
bufsize:可选参数,是否使用缓存
 
 操作含有中文的文件名时:
unicode(ipath , "utf8")
 
mode:
模式
描述
r
以读方式打开文件,可读取文件信息。
w
以写方式打开文件,可向文件写入信息。
a
以追加方式打开文件,文件指针自动移到文件尾。
r+
以读写方式打开文件,可对文件进行读和写操作。
w+
消除文件内容,然后以读写方式打开文件。
a+
以读写方式打开文件,并把文件指针移到文件尾。
b
以二进制模式打开文件,而不是以文本模式。该模式只对WindowsDos有效,类Unix的文件是用二进制模式进行操作的。
 
Bufsize
bufsize取值
描述
0
禁用缓冲
1
行缓冲
>1
指定缓冲区的大小
<1
系统默认的缓冲区大小
 
 
 
 
 
 
常用的文件操作:
file.close()关闭打开的文件
file.fileno()获得文件描述符
file.flush()刷新输出缓存
file.read([count])读出文件,如果有count,则独处count个字节
file.readline()读出一行信息
file.readlines()读出所有行,即整个文件
file.seek(offset[,where]) 将文件指针移动到相对于where的offset位置
offset为0表示文件开始处【默认】,1当前,2文件结尾
file.tell()获得文件指针位置
file.truncate([size])截取文件,是文件大小为size
file.write()向文件中写入字符串
file.writelines(list)向文件中写入一个列表
 
 
Python代码 


  • # fileop.py 文件操作示例  
  • f = open("a.txt","r")  
  • #打印文件信息  
  • print(f.fileno())  
  • #读取6个字节  
  • s = f.read(6)  
  • print(s)  
  • #获取文件指针位置 指针在刚才的读取已经跑到6了  
  • print(f.tell())  
  • #读取一行信息  
  • f.read(1) #注意,换行符/n也算一个字符,  
  • l = f.readline()  
  • print(l)  
  • #读取多行信息  
  • lines = f.readlines()  
  • for line in lines:  
  •     print(line)  
  • #关闭文件  
  • f.close()  
  •   
  • #以追加方式再次打开文件  
  • f = open("a.txt","a")  
  • #获取当前指针位置  
  • print(f.tell())  
  • #写一行  
  • f.write("new added string/n")  
  • #输出缓存  
  • f.flush()  
  • #写入列表字符串,默认是不会自动换行的,若需要,需放置/n  
  • l=["a","b","c","/n","d"]  
  • f.writelines(l)  
  • #关闭  
  • f.close()  

 
结果:
原文件:
 
python
line 1
line 2
line 3
 
处理后:
 
 
python
line 1
line 2
line 3
new added string
abc
d

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-369484-1-1.html 上篇帖子: python django | django-groundwork 下篇帖子: python网络爬虫抓取图片
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表