python读写文件

来源:互联网 发布:河源龙川广电网络 编辑:程序博客网 时间:2024/06/05 02:30
def loadDataSet(fileName):      #general function to parse tab -delimited floats    dataMat = []                    fr = open(fileName)    for line in fr.readlines():        curLine = line.strip().split('\t')        fltLine = map(float,curLine) #map all elements to float()        dataMat.append(fltLine)    return dataMat
在Python中,推荐用上下文管理器(with-as)来打开文件,IO资源的管理更加安全,而且不用老惦记着给文件执行close()函数。还是举例子来说明,考虑有个文件name_age.txt,里面存储着名字和年龄的关系,格式如下:

Tom,8
Jerry,7
Tyke,3
...
读取文件内容并全部显示:

with open('name_age.txt', 'r') as f: # 打开文件,读取模式    lines = f.readlines()              # 一次读取所有行    for line in lines:                  # 按行格式化并显示信息        name, age = line.rstrip().split(',')        print('{} is {} years old.'.format(name, age))


open()的第一个参数是文件名,第二个参数是模式。文件的模式一般有四种,读取(r),写入(w),追加(a)和读写(r+)。如果希望按照二进制数据读取,则将文件模式和b一起使用(wb, r+b…)。

再考虑一个场景,要读取文件内容,并把年龄和名字的顺序交换存成新文件age_name.txt,这时可以同时打开两个文件:

with open('name_age.txt', 'r') as fread, open('age_name.txt', 'w') as fwrite:    line = fread.readline()    while line:        name, age = line.rstrip().split(',')        fwrite.write('{},{}\n'.format(age, name))        line = fread.readline()


原创粉丝点击