十月故里 发表于 2020-3-3 21:46:21

38讲最后一题说要分享一个作业

碰巧今天上课的时候,突发奇想,每天做笔记都要重新新建文档录入,保存一系列工厂流水线的操作
然后就想到整个东西方便写笔记,于是有了下面这个作品,碰巧这节课要提交,就献丑给各位大佬帮忙看看,小白感谢各位大佬抽出宝贵的时间来逛本帖{:5_109:}
import easygui as g
import os
dir_name=g.diropenbox('选择你要录入信息目录','课堂笔记录入')
os.chdir(dir_name)#转移到文件所在目录下
text='\n'
for i in os.listdir(os.curdir):
    ext=os.path.splitext(i)
    if ext=='.txt':
      text+=i+'\t'
file_name=g.enterbox('目前文件夹内已有的文档为:%s'%text,'请输入需要新建的文档名字【格式:文档名(默认后缀名为.txt不可更改)】')
file_name+='.txt'#确保文档格式为.txt
b='x'#用来控制打开文档的方式
k=''#用来控制当选择文末追加的方式的时候,自动另起一行
while 1:
    try:#防止文件重名
      with open(file_name,b)as f:#在最后面追加新内容
            h=g.textbox('请输入你要添加的内容')
            h=k+h#保证和原文内容隔开一行,不能用+=的方式,这样会变成内容\n,而不是\n内容
            f.write(h)
            g.msgbox('文档保存成功...')
            break
    except FileExistsError:
      '''a=g.boolbox('你输入的文档名字以存在,请选择是否【新建】文档或者【覆盖】文档')
      if a:
            file_name=g.enterbox('请输入需要新建的文档名字')
            continue:
      else:
            with open(file_name,'x')as f:#在最后面追加新内容
            h=g.textbox('请输入你要添加的内容')
            h='\n'+h#保证和原文内容隔开一行,不能用+=的方式,这样会变成内容\n,而不是\n内容
            f.write(h)'''
      a=g.buttonbox('你输入的文档名字已存在,请选择是否【新建】/【覆盖】/【文末追加】文档',choices=['新建','覆盖','文末追加'])
      if a=='新建':
            file_name=g.enterbox('请输入需要新建的文档名字')
            file_name+='.txt'
            b='x'
            continue
      elif a=='覆盖':
            b='w'
            continue
      else:
            b='a'
            k='\n'
            continue

十月故里 发表于 2020-3-3 21:48:04

中间有些个人写代码的习惯,优化代码的过程我会保留以前的代码,方便以后查看的时候,知道自己的构思,所以显得有些地方有点啰嗦哈
页: [1]
查看完整版本: 38讲最后一题说要分享一个作业