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