鱼C论坛

 找回密码
 立即注册
查看: 1636|回复: 6

[已解决]关于python第35讲

[复制链接]
发表于 2020-3-17 06:39:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 YaoYan 于 2020-3-17 06:40 编辑
import easygui as g
import os

dir_path=g.diropenbox()+'\\*.txt'
file_path=g.fileopenbox(default=dir_path)
file_name=os.path.basename(file_path)
with open(file_path) as f:
    file_content=f.read()
    content_after=g.textbox(msg='文件【'+file_name+'】的内容如下:', title='显示文件内容', text=file_content)
    if file_content==content_after:
        g.msgbox('再见^_^')
    else:
        choice=g.buttonbox(msg='检测到文件内容发生改变,请选择一下操作',title='警告',choices=('覆盖保存','放弃保存','另存为'))
        if choice=='覆盖保存':
            file_content=content_after
            with open(file_path,'w') as cover:
                cover.write(file_content)
        elif choice=='放弃保存':
            pass
        elif choice=='另存为':
            save_dir=g.diropenbox()
            file_content=content_after
            with open(save_dir,'w') as save:
                save.write(file_content)
这是我的代码,但是当我点击另存为的时候会报错, 如下:
  File "C:/python/work35/3.py", line 23, in <module>
    with open(save_dir,'w') as s:
PermissionError: [Errno 13] Permission denied: 'C:\\python\\work35'
这个该怎么解啊
最佳答案
2020-3-17 10:00:32
with open(save_dir,'w') as save,save_dir是文件夹名,不是文件名,你得加上一个文件名才行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-17 06:40:21 | 显示全部楼层
s
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-17 08:04:31 From FishC Mobile | 显示全部楼层
权限错误,无法创建文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 09:03:54 | 显示全部楼层

不要在那些根目录里创建文件,放到别的地方,比如D盘的某个文件夹
放在桌面也行(除非文件特别多)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 10:00:32 | 显示全部楼层    本楼为最佳答案   
with open(save_dir,'w') as save,save_dir是文件夹名,不是文件名,你得加上一个文件名才行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 13:04:19 | 显示全部楼层
以管理员权限运行以下程序:
import easygui as g
import os

dir_path=g.diropenbox()+'\\*.txt'
file_path=g.fileopenbox(default=dir_path)
file_name=os.path.basename(file_path)
with open(file_path) as f:
    file_content=f.read()
    content_after=g.textbox(msg='文件【'+file_name+'】的内容如下:', title='显示文件内容', text=file_content)
    if file_content==content_after:
        g.msgbox('再见^_^')
    else:
        choice=g.buttonbox(msg='检测到文件内容发生改变,请选择一下操作',title='警告',choices=('覆盖保存','放弃保存','另存为'))
        if choice=='覆盖保存':
            file_content=content_after
            with open(file_path,'w') as cover:
                cover.write(file_content)
        elif choice=='放弃保存':
            pass
        elif choice=='另存为':
            save_dir=g.diropenbox()
            file_content=content_after
            with open(save_dir + '\\文件.txt','w') as save:
                save.write(file_content)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-17 22:36:01 | 显示全部楼层
txxcat 发表于 2020-3-17 10:00
with open(save_dir,'w') as save,save_dir是文件夹名,不是文件名,你得加上一个文件名才行。

还真是,多谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 00:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表