Python进行文件读写操作

1.python可使用 open() 打开一个文件

    f = open('C:\\123.txt')#这里绝对路径反斜杠需要使用双斜杠\

     #这样写运行可能会报错,因为未使用'encoding = '指定文件编码方式,win中默认编码方式为gbk,linux中默认为utf-8  ==》f = open('C:\\123.txt',encoding = 'utf-8')

    

2.文件读写操作

      

2.1  f.read()#文件读操作(只读模式,目标文件若不存在,则会报错,且编码方式定义需和目标文件相同)

     f = open('C:\\123.txt','r',encoding = 'utf-8')

      print(f.read())

2.2  f.write('hello world')#文件写操作(只写模式,会清空原文件内容;若目标文件不存在,则会新建一个文件)

     f = open('C:\\123.txt','w',encoding = 'utf-8')

     f.write('hello')   


     #注意,写操作会覆盖文本原有内容,若执行写操作,则在打开资源时就需要定义以写的方式打开,读写操作不可同时使用

2.3  a, 追加模式  #在原有内容上追加内容,相比于写模式,不会清空原有内容

        f = open('C:\\123.txt','a',encoding = 'utf-8')    

        f.write('hello')

       

  2.4 ‘+’ 模式    ‘r+’: 读写模式   'w+':写读模式   'a+':写读模式

        2.4.1 r+模式     先读后写

                f = open('e:\\123.txt',mode='w+',encoding='gbk')

                f.write('你好,hellopython')

                f.seek(0)# 将光标移动到文件开头 ,避免读取不到          

                print(f.read())

                f.close()

           w+模式  ,a+模式同理

2.5 替换 f.close==>with open  很多时候,我们使用open(),但是忘记了close(),         

2.6 seek()  和tell()

        with open('C:\\123.txt','w+',encoding='utf-8') as f:

        f.write('abcdefgh')# 一共 8 个字符,现在想要读取ef两个字符

        f.seek(4)# 将光标移动到4的位置,也就是 d 的后面,从e开始读取

        index = f.tell()#获取光标位置

        print(f.read(2),index)# 读取两个字符,将读到 ef

=====================================================================================

        with open('e:\\123.txt',mode='w+',encoding='utf-8') as f:

        f.write('123456789')# 在文件中写入: 123456 按照 utf-8的编码方式写入

        f.seek(3)# 将光标移动到位置 3

        index = f.tell()# 读取光标的位置

        print(f.read(2),index)# 读取两个字符

你可能感兴趣的:(Python进行文件读写操作)