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

[经验分享] Python中 文件处理

[复制链接]

尚未签到

发表于 2018-8-5 11:24:42 | 显示全部楼层 |阅读模式
在文件处理当中,只有read默认是以字符为单位,其他方法均已字节为单位.  def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):
  file表示文件的名称,可以是绝对路径,也可以是相对路径.
  mode表示打开文件的方式,r表示读,w表示写,a表示追加.
  encoding表示已哪种编码格式读取文件中的内容,如果不指定,默认使用当前平台的编码,对于
  Windows操作系统来说为gbk编码.
  open()成功返回一个文件对象后,后续对该文件的操作都通过这个“句柄”实现。
  open('小重山1.txt','r',encoding='utf-8')
  打开文件的三种方式:
  r : 以r的方式打开整个文件,若文件不存在,则直接报错
  w : 以w的方式打开整个文件,若文件存在则先清空文件的内容(但是并不删除文件),若文件不存在则先创建这个文件。
  注意:在以w的方式打开整个文件的过程中,只有在第一次打开文件的时候才会先清空整个文件的内容,在整个操作的
  过程中
  并不会写一次清除一次。
  r和w代表以文本的方式读,并以文本的方式写。
  a : 以追加的方式打开整个文件,若文件不存在则先创建这个文件,若文件存在则只追加内容。
  "+" 表示可以同时读写某个文件
  r+, 读写【可读,可写】,文件不存在会报错的
  w+, 写读【可读,可写】, 清空文件内容,然后以读写方式打开文件。
  a+ ,写读【可读,可写】
  "b"表示已字节流的方式操作相应的文件,当以"b"的方式操作文件的时候,
  处理数据的基本单位是字节(二进制),而不再是字符。
  rb,  以二进制的方式读写某个文件          (直接将文件在硬盘中对应的bytes读取到内存当中)
  wb,  以二进制的方式向某个文件中写入内容。(直接将文件对应的bytes写到硬盘当中)
  def close(self, *args, **kwargs):
  程序结束之后要注意关闭流从而释放与该流相关的所有系统资源.    python 有机制会自动关闭  但是不安全 鬼知
  道什么时候关闭
  .close()
  def read(self, *args, **kwargs):
  read()从文件中读取指定个数的字符(r模式)或者字节(rb模式),如果没有给定参数size(默认-1)或为负数,则
  一直读至末尾,获取整个文件的内容,若给定size值则取指定长度字符  (中文英文都是一个字符)。
  .read()
  def readline(self, *args, **kwargs):
  读取一行文本,并随后将光标转移至下一行的起始偏移量。即同时两次读取则会取出第一行和第二行
  def readlines(self, hint=-1):
  读取文件所有行文本的内容,并以列表的形式进行返回。  处理时按需要使用 .strip()方法  \n会多产生一个空格
  .readlines()
  def readable(self):
  判断文件的打开方式是否是可读的,如果是则返回True.
  def write(self, *args, **kwargs):
  向文件中写入字符串,并返回写入字符的个数,注意:要自己添加相应的换行符。
  .write()
  def writelines(seq)
  向文件中写入一个字符串列表,注意:seq中的每个元素必须是字符串类型.
  def writable(self, *args, **kwargs):
  判断文件的打开方式是否是可写的,如果是则返回True.
  def seek(self,offset,whence=0):
  控制文件光标位置移动的字节数,
  whence=0代表文件的开始位置.
  whence=1代表光标所处的当前位置
  whence=2代表文件的结束位置.
  注意:seek处理数据的单位为字节。
  def tell(self, *args, **kwargs):
  当前文件中光标所处的位置.
  def truncate(self, *args, **kwargs):
  截取文件的内容,其中结果只保留前n个字节的内容。
  文件操作的其他功能:
  文件的修改:
  1、读源文件的内容,然后一行一行的向新文件中写.
  2、通过os模块将源文件给删除.
  3、将新文件重命名为源文件的名字。

运维网声明 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-546951-1-1.html 上篇帖子: 构建python的运行环境 下篇帖子: python---文件操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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