鱼C论坛

 找回密码
 立即注册
查看: 3193|回复: 2

python 35讲 课后第四题

[复制链接]
发表于 2016-9-20 23:05:52 | 显示全部楼层 |阅读模式
30鱼币
这是我打得源代码:
import easygui as g
import os

file_path = g.fileopenbox(default = "*.txt")

with open(file_path) as old_file:
        title = os.path.basename(file_path)
        msg = "文件 %s 的内容如下:" % title
        text = old_file.read()
        text_after = g.textbox(msg, title, text)
if text != text_after[:-1]:
        choice = g.buttonbox("检测到文件内容发生改变,请选择以下操作: ","警告",("覆盖保存","放弃保存","另存为..."))
        if choice == "覆盖保存":
                with open(file_path, "w") as old_file:
                        old_file.write(text_afer[:-1])
        if choice == "放弃保存":
                pass
        if choice == "另存为...":
                another_path = g.filesavebox(default=".txt")
                if os.path.splitext(another_path)[1] !='.txt':
                        another_path += '.txt'
                with open(another_path, "w") as new_file:
                        new_file.write(text_after[:-1])       
=======================================================================
甲鱼老师的源代码:
import easygui as g
import os

file_path = g.fileopenbox(default="*.txt")

with open(file_path) as old_file:
    title = os.path.basename(file_path)
    msg = "文件【%s】的内容如下:" % title
    text = old_file.read()
    text_after = g.textbox(msg, title, text)
   
if text != text_after[:-1]:
    # textbox 的返回值会追加一个换行符
    choice = g.buttonbox("检测到文件内容发生改变,请选择以下操作:", "警告", ("覆盖保存", "放弃保存", "另存为..."))
    if choice == "覆盖保存":
        with open(file_path, "w") as old_file:
            old_file.write(text_after[:-1])
    if choice == "放弃保存":
        pass
    if choice == "另存为...":
        another_path = g.filesavebox(default=".txt")
        if os.path.splitext(another_path)[1] != '.txt':
            another_path += '.txt'
        with open(another_path, "w") as new_file:
            new_file.write(text_after[:-1])


=========================================
他的能运行,我的不行.我的错误提示:invalid character in identifier(    with open(file_path, "w") as old_file:)重点是这句 "w"和'open'被提示,请问前辈是不是idle冲突,或者utf-8出问题?

最佳答案

查看完整内容

你的程序有好几处是中文标点,改一下就能运行了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-20 23:05:53 | 显示全部楼层
你的程序有好几处是中文标点,改一下就能运行了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-21 08:07:00 | 显示全部楼层
冬雪雪冬 发表于 2016-9-20 23:12
你的程序有好几处是中文标点,改一下就能运行了。

大神的回复好犀利,我也经常遇到打错标点,这个地方其实考验的是,如何判断错误?就是如何才能看懂报错语句
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-22 22:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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