Python基础(6)文件和I/O流

#coding=gbk
#文本文件
with open(r'C:\Users\Administrator\Desktop\mysal\Python\data.txt','r') as f:#with语句自动关闭文件流
    for s in f.readlines():#readlines()读入多行内容
        print(s,end="")
with open(r'C:\Users\Administrator\Desktop\mysal\Python\data.txt','a') as f:#a为增加内容,w为先删除原内容,再增加内容
    f.write('\nhaha_number2')
#二进制文件
with open(r'C:\Users\Administrator\Desktop\mysal\Python\data1.dat','ab') as f:
    f.write(b'\nthis,world')#写入字节接数据
print('-----------华丽的分割线---------')
with open(r'C:\Users\Administrator\Desktop\mysal\Python\data1.dat','rb') as f:
    a=f.read();
    print(a)           
#读取csv格式的文件    
import csv
filename='C:/Users/Administrator/Desktop/mysal/Python/data.csv'  #由于\存在转义符号的歧义,建议使用“/”符号
with open(filename) as f:     
    reader = csv.reader(f)
    print(list(reader))
    
import csv
filename='C:/Users/Administrator/Desktop/mysal/Python/data.csv' 
with open(filename) as f:
    reader=csv.reader(f)
    header_row=next(reader)#不读取第一行的属性
    for row in reader:
        print(reader.line_num,row)#从第二行开始读取
# 输出为 2 ['bob', '15', 'male']
# 3 ['smith', '27', 'female']
# 4 ['junge', '23', 'male']
# 5 ['liudehua', '45', 'male']    

#在CSV中写入数据
datas=[['zhangsan','34','female'],['wnagwu','36','male']]
import csv
filename='C:/Users/Administrator/Desktop/mysal/Python/data.csv'
with open(filename,'a',newline='') as f: #a表示在元文件中增加datas
    reader=csv.writer(f)
    for row in datas:
        reader.writerow(row) #以当行写入
                                #还可以以多行写入 reader.writerows(datas)

#对象序列化,程序运行时对象创建在内存中,如果需要持久地保存在磁盘中,
#或需要通过网络传递给其他机器,则需要通过对象序列化机制
#对象序列化
import pickle #应用模块
with open(r'C:/Users/Administrator/Desktop/mysal/Python/demo.dat','ab') as f:
    s1='hello world'
    c1=1+1j
    d1=dict(name='hale',age=14)
    pickle.dump(s1,f)
    pickle.dump(c1,f)
    pickle.dump(d1,f)
    




    
    
    

猜你喜欢

转载自blog.csdn.net/qq_40587575/article/details/80542069
今日推荐