继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python中 文件处理

函数式编程
关注TA
已关注
手记 183
粉丝 14
获赞 30

在文件处理当中,只有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、将新文件重命名为源文件的名字。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP