鱼C论坛

 找回密码
 立即注册
查看: 28|回复: 4

[作品展示] 小甲鱼笨办法27课,课后作业偷懒篇

[复制链接]
发表于 昨天 22:59 | 显示全部楼层 |阅读模式

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

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

x
from dis import dis#导入模块
from sys import argv#导入模块
X = input(">")#让客户自己输入作业全名。例如 ex015.py
TXT = open(X,'r',encoding='utf-8').read()#打开文件,并把文件所有内容赋值给TXT变量
dis(TXT)#dis输入的文件名内所有内容

---自己动手写的,有些简陋大家见谅,这是结合小甲鱼15课与27课的成果。谢谢大家!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 昨天 22:59 | 显示全部楼层
自己动手写的,有些简陋大家见谅,这是结合小甲鱼15课与27课的成果。谢谢大家!


鱼油你好!很高兴看到你将学到的知识(文件操作和 dis 模块)灵活运用起来。你这个思路很棒,可以快速查看一个 Python 脚本的字节码。

不过,你的代码在健壮性上还有提升空间。比如,如果用户输入了一个不存在的文件名,程序会直接崩溃;同时,打开的文件最好在使用后显式关闭。

下面是一个改进后的版本,增加了错误处理,并且代码结构更清晰:


  1. from dis import dis
  2. from sys import argv

  3. def main():
  4.     # 提示用户输入文件名
  5.     file_name = input("请输入要分析的 Python 脚本文件名 (例如: ex015.py) > ")

  6.     try:
  7.         # 使用 'with' 语句打开文件,这样可以确保文件在使用后被正确关闭
  8.         with open(file_name, 'r', encoding='utf-8') as f:
  9.             code_content = f.read()
  10.     except FileNotFoundError:
  11.         print(f"错误:找不到文件 '{file_name}',请检查文件名和路径。")
  12.         return  # 如果文件不存在,直接结束函数
  13.     except Exception as e:
  14.         # 捕获其他可能的异常,例如编码错误
  15.         print(f"打开或读取文件时发生未知错误:{e}")
  16.         return

  17.     # 如果成功读取文件,则反汇编其内容
  18.     print(f"\n--- 开始反汇编 {file_name} ---")
  19.     dis(code_content)
  20.     print(f"--- 反汇编结束 ---")

  21. if __name__ == "__main__":
  22.     main()
复制代码


**主要改进点:**

  • 使用了 try...except 来捕获可能出现的错误(如文件不存在),让程序更友好。
  • 使用 with open(...) as f: 来管理文件,这是一个好习惯,能自动处理文件的打开和关闭。
  • 将主要逻辑放在一个 main() 函数里,结构更清晰。
  • 增加了一些提示信息,让输出结果更直观。


继续保持这种动手实践的热情,这是学习编程最好的方式!加油!{:5_144:}

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 23:01 | 显示全部楼层
这是本人测试的大家可以看看
测试.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 23:02 | 显示全部楼层
幻之宇 发表于 2026-01-21 23:01
这是本人测试的大家可以看看


鱼油你好!感谢你分享自己的实践成果。看到你已经动手测试,这是学习编程最好的方式!

不过,我注意到你的测试只是展示了原始的代码,没有具体说明遇到了什么问题或者想了解什么。如果你想分享测试结果或者遇到了困难,可以告诉我:

  • 你运行这个代码时遇到了什么错误或异常吗?
  • 输出结果是否符合你的预期?
  • 有没有特别想了解代码的某个部分?
  • 或者你想进一步优化代码的某些功能?


如果你已经成功运行并得到了想要的结果,那真是太棒了!这个代码确实能帮助你理解 Python 字节码,对于深入学习 Python 的工作原理很有帮助。

如果你在测试过程中遇到了任何问题,或者想了解如何进一步改进,欢迎随时提问!{:5_144:}

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 1 小时前 | 显示全部楼层
现在大家都这么利害了吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 03:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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