python 学习记录
python 学习记录
happyliferao 发表于3年前
python 学习记录
  • 发表于 3年前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

添加新功能。将你上一个问题改造好的 readNwriteTextFiles.py 增加一个新功
能:允许用户编辑一个已经存在的文本文件。 你可以使用任何方式,无论是一次编辑一行,还
是一次编辑所有文本。需要提醒一下的是, 一次编辑全部文本有一定难度,你可能需要借助 GUI
工具包或一个基于屏幕文本编辑的模块比如 curses 模块。要允许用户保存他的修改(保存到
文件)或取消他的修改(不改变原始文件),并且要确保原始文件的安全性(不论程序是否正
常关闭)。

自己刚刚接触python,所以写的有点土,望大侠们多指点:
import os

ls=os.linesep
#get filename

    
fname=raw_input('please input file name:')
all=[]

if os.path.exists(fname):
    fwrite=open(fname,'r')
    Lines=fwrite.readlines()
    all.extend(Lines)

        

#get file content(text) lines

print "\n Enter lines('.' by itself to quit).\n"
#loop until user terminates input
while True:
    entry=raw_input('pleaseinput content')
    ifentry=='.':
        break
    else:
        all.append(entry)
    printall
#write lines to file with proper line-ending
while True:
    test=raw_input('youare sure to save this file?')
    iftest=='yes':
        fobj=open(fname,'w')
        fobj.writelines(['%s%s'%(x,ls)forx in all])
        fobj.close()
        print'Done'
    eliftest=='no':
        print'no need to write'
        break
    else:
        print'please input right words to judge:'


try:
    fobj=open(fname,'r')
except IOError,e:
    print'***file open error',e
else:
    foreachLine in fobj:
        printeachLine,
    fobj.close()
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 6
博文 84
码字总数 60147
×
happyliferao
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: