前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中 文件处理

Python中 文件处理

作者头像
py3study
发布2020-01-08 16:33:54
7880
发布2020-01-08 16:33:54
举报
文章被收录于专栏:python3
代码语言:javascript
复制
在文件处理当中,只有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、将新文件重命名为源文件的名字。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档