python--文件读写

python文件读写分为三步

  打开文件,获取句柄;操作文件;关闭文件

文件基本操作如下:   

1 f = open("E:\\person_practice\\python\\test.txt","r")   #打开文件
2 fr = f.read()                                           #读取文件
3 print(fr)                                                                

文件打开时,需指定文件路径、打开方式,windows文件路径如果是“E:\person_practice\python\test.txt”,需要把"\"做转移,或者改成:

"E:/person_practice/python/test.txt"

打开方式分为r、w、a三种方式 ,【+】表示可以同时读写

  r  只读,默认模式

  w   只写,不可读,若文件不存在则创建,若存在,则删除内容,写入新内容

  a  只追加,不可读,若文件不存在则创建,存在则追加新内容

  r+  可读、可写、可追加,若文件不存在,则报错

  w+  可读、可写,若文件存在,内容会被清空,可读新写入的内容

  a+  可读、可写、可追加,若文件存在,则追加新内容,读时默认指针在文件末尾,若需读取整个文件,需把指针归零【f.seek(0)】

此种方式打开文件,需要在使用结束后及时关闭文件,可以使用【with】方法来解决:

with open("F:\\python_scripts\\py\\test.txt ","r") as fr:  #以r形式打开文件   for line in fr:                              #一行一行读取   print(line)

此种方式会在使用完文件句柄后,自动关闭该文件。

常用文件操作命令

    fr.read()           #读取所有内容
    fr.readline()       #读取一行
    fr.readlines()      #读取所有文件内容,返回一个list
    #以上三个命令在大文件时慎用,会把内容读到内存中,占用大内存
    fr.seek(0)          #当前文件指针位置在0位
    fr.writelines(["a","b"])    #把列表写入文件

文件修改

修改文件有两种方式,一种是把文件内容读取到内存,清空并重写;第二种是把修改后的文件内容写到一个新文件中;

第一种方式

1 with open("F:\\python_scripts\\py\\test.txt","r+") as fr:    #以读的方式打开
2     res = fr.read()                                          #读取文件到内存
3     new_res = res.replace("学习","study")                     #修改文件内容
4     fr.write(new_res)                                        #修改的内容重写进文件
5     print(new_res)

第二种方式

with open("test_1.txt","r") as fr, open("test_2.txt","w+") as fw:   #同时打开多个文件
    for line in fr:                                                 #循环读取每一行
        new_line = line.replace("1","a")                            #把1改为a
        fw_new = fw.write(new_line)                                 #把修改后的内容写到fw里

参考资料见: http://www.nnzhp.cn/blog/2016/12/19/python%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E4%B8%89%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C%E5%92%8C%E9%9B%86%E5%90%88/

  

时间: 2024-10-05 23:58:08

python--文件读写的相关文章

python文件读写小结

读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件.(这个mode参数默认值就是r) 如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在: >>> f=open('test.txt', 'r') Traceback (most recent call last): File &quo

C++、Python文件读写、定位等操作

一.C++文件流 1.文件流对象 C++中的文件流对象(fstream)是继承自iostream的一个类,其关系如下: fstream可以用IO运算符(>>和<<)读写文件,也可以用getline读文件. fstream特有的操作: fstream fstrm; 创建一个未绑定的文件流 fstream fstrm(s);   创建一个fstream,并打开名为s的文件,默认的文件模式依赖于fstream类型 fstream fstrm(s,mode); 与上一个构造函数类似,按指定

python文件读写详解

# Python3 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) 文件打开模式     描述 r              以只读模式打开文件,并将文件指针指向文件头:如果文件不存在会报错 w             以只写模式打开文件,并将文件指针指向文件头:如果文件存在则将其内容清空,如果文件不存在则创建 a           

python 文件读写操作

读open打开文件后一定要记得调用文件对象的close()方法,用try/finally语句来确保最后能关闭文件不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法file_name = open('test.file')读取所有内容file_object = open('thefile.txt')try:all_the_text = file_object.read( )finally:file_object.close( )读固

python 文件读写时用open还是codecs.open

当我面有数据需要保存时,第一时间一般会想到写到一个txt文件中,当然,数据量比较大的时候还是写到数据库比较方便管理,需要进行网络传输时要序列化,json化.下面主要整理一下平时用的最多的写入到文件中,一般以txt结尾,linux里不会以后缀来区分文件类型,后缀可以随便,也可以没有. python读写文件估计大家都用open内置函数,或者file这个工厂函数,这两个的效果基本一样. 打开文件的方式一般为:f=open(file_name,access_mode = 'r',buffering =

python文件读写操作与linux shell变量命令交互执行

python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼! 1 #coding=utf-8 2 #!/usr/bin/python 3 import os 4 import time 5 #python执行linux命令 6 os.system(':>./aa.py') 7 #人机交互输入 8 S = raw_input("input:") 9 os.environ['S']=str(S) 10 #把字符串S写入文件 11 outpu

python文件读写操作

代码: [email protected]:/study/python# cat write.py #!/usr/bin/python output_file = open("test.txt","w") output_file.write("write test\n") output_file.close() output_file = open("test.txt","a") output_file.w

python文件读写 - 文件r+ open读写实际表现

先说结论: 文件r+ open: 1. write()不能实现插入写,它总是覆盖写或附加写: 2. 如果文件一打开即write(),则从开头覆盖写; 3. 如果文件一打开,用f.seek()指定文件指针位置,然后执行f.write()则从指针位置写(覆盖写); 4. 如文件打开后先执行了readline(), 然后再执行write(),实现的是附加写 文件a+ open: 1. 文件打开后起始指针为文件末尾,readline()将读不到数据 2. write()始终是附加写 ,即使将文件指针指到

python文件读写改操作

总结: mode 打开模式:r(只读),w(只写),a(追加) 1.r:默认只读r模式,若写入内容,会报错:io.UnsupportedOperation: not writable (read()读取全部,进行完一次读取操作后,光标到文末 readline()读取单行 readlines()读取多行) 2.r+:可读可写 先写,从头开始覆盖写 读光标之后的内容 读写跟着光标走 如果写入中午,注意编码格式encoding=utf-8 3.w:读会报错:io.UnsupportedOperatio

python 文件读写模式

'b' --> binary 二进制'r' --> read 读取'w' --> write 写'a' --> append 追加 于是: 'rb'就是 以二进制的形式读取文件 注:'w' 和 'a'的区别:'w'模式下, 如果文件不存在, 会创建这个文件; 如果文件存在, 则将其覆盖'a'模式下, 打开一个文件用于追加, 也就是说, 文件指针将会指向文件的结尾; 当然, 如果这个文件不存在, 也是会创建这个文件的. 至于 '+', 这个好理解.'r+' --> 'wr''w