python学习(六):数据存储

在处理完数据后,通常是不是把这些数据都丢弃了,而是将之保存。这节学习将处理完成的数据进行保存。#sketch.txt

1.  打开文件处理后保存到新的文件中

man=[]
other=[]
try:
    data=open('sketch.txt')
    for each_line in data:
        try:
            (role,line_spoken)=each_line.split(':',1)
            line_spoken=line_spoken.strip() #strip()从字符中去除不必要的空白符
            if role=='Man':
                man.append(line_spoken)
            elif role=='Other Man':
                other.append(line_spoken)
        except ValueError:
            pass
    data.close()
except IOError:
    print('The file is missing!')

try:
    man_file=open('data_man.txt','w')    #以“写”模式打开文件
    other_file=open('data_other.txt','w') #如果这个文件不存在,程序会自动新建一个文件。如果该文件存在则会覆盖原文件
    
    print(man,file=man_file)  #file='存储文件名'
    print(other,file=other_file)
    
    man_file.close()  #要记得关闭文件
    other_file.close()
    
except IOError:
    print('file Error!')

注意:写模式下,如果原来存在目标文件,程序会擦除文件里的原有数据,再进行写入。

如果不想修改原文件,想在后面追加,可以用'a'命令

man_file=open('data_man.txt','a')

2. 文件修改

考虑到程序可能在运行过程中出现问题,导致中途崩溃一些关键性的代码得不到执行,我们对代码做一些修改。存储数据到新文件中时,需要关闭文件,若程序崩溃则文件没关闭会让数据出错。将文件关闭代码移入finally中,这些代码在最后总能执行,这样能减少数据被破坏的可能性。

try:
    man_file=open('data_man.txt','w')   
    other_file=open('data_other.txt','w') 
    
    print(man,file=man_file)  
    print(other,file=other_file)
    
except IOError:
    print('File error!')

finally:
    man_file.close()
    other_file.close()

3. with语句

try:
    with open('data_man.txt','w') as man_file:
        print(man,file=man_file)  #file='存储文件名'
    with open('data_other.txt','w') as other_file:
        print(other,file=other_file)
        
except IOError as err:
    print('File error:'+str(err))
4. 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烤粽子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值