运行python文件_报错处理_NameError 回忆上次内容
  • 回忆 上次内容
  • vi oeasy.py
  • 用 vi 编辑 oeasy.py
 
  • cat oeasy.py
  • 用 cat 查看 oeasy.py
 
  • python3 oeasy.py
  • 用 python3 运行 oeasy.py
 
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 空格之前的 是
  • 命令
  • 发出绿光
  • 可以执行
 
  • 空格之后的 是
  • 命令的参数
  • 命令执行的 目标对象
 
  • 如果 程序写错了
  • 该 如何修改 呢?
 
重新编辑
  • 先输入vi oeasy.py
  • 重新编辑 oeasy.py文件
 
  • 如果上次写的 没了
  • 就 重新输入
  • 用i 进入插入模式
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 把oeasy.py修改成
  • 上图的样子
 
保存并退出
  • esc 退出插入模式
  • 左下角的---插入(粘贴)---消失
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • :w
  • write保存
  • oeasy.py后面的 [+]消失
 
退回到shell
  • 提示
  • 1行、15个字符
  • 已写入
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • :q
  • quit 退出 (vim应用)
  • 回到 shell环境
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 准备运行程序
运行结果
  • 输入 python3 oeasy.py
  • 运行程序
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 不出所料
  • 报错了!
 
出现Error
  • 这Error
  • 确实 让我们感觉到 痛苦
 
<span style="font-size:300px"></span>
  • 但痛苦
  • 让我们 感觉到
  • 自己 是存在的
 
bug
  • 出错(bug)是
  • 最正常的
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • Error
  • 不是 我们无能的标志
  • 而是 我们努力的标志
  • 更是 进步的阶梯
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 这个报错信息
  • 和IDLE(游乐场)一样 吗?
 
结果对比
  • 先去IDLE(游乐场)
  • 跑一下
  • pront("oeasy")
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 程序运行 和 游乐场运行
  • 几乎 一样
  • 都是 NameError
  • 都不认识 pront 这个 name
 
 
  • 说明
  • python解释器 和 python游乐场 是相通的
  • 本来 就是 同一个程序嘛
 
  • 不过 还是 有一点小区别的
  • 你能发现吗?
 
小区别
  • 区别 如下图 红框 所示
  • 虽然 都在 报错信息 第2行
  • 但是 文件来源 不同
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 上面的 报错
  • 来自 oeasy.py
  • 是 硬盘上 写好的文件
 
  • 下面 的 报错
  • 来自 stdin
  • standard in
  • 标准输入流
  • 来自于 键盘的 直接输入
 
  • 具体怎么改呢?
新开终端
  • 从游乐场
  • 退回到 shell环境
  • 修改文件
 
  • 再用 vi 打开 oeasy.py
  • 进行修改后
  • 出现[+]
  • 但先不保存文件
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 此时如果 再开一个终端
  • 会冲突吗?
 
新开终端
  • 在桌面 再双击
  • 终端图标
 
  • 又新打开
  • 一个终端
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 键入
  • vi oeasy.py
  • 回车
 
打开了同一个文件
  • vim 应用程序
  • 报了一个错误
  • <span style="background:red;color:white;">E325: 注意</span>
  • 说明vim 发现了问题
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 因为 之前的终端
  • 已经打开了 oeasy.py
  • 并且 进行了修改
  • 但是还没保存到 硬盘中
  • 只存了 缓存文件
  • .oeasy.py.swp
 
 
  • 后开的终端
  • 想要 同时打开 oeasy.py
  • 发现了 缓存文件.oeasy.py.swp
  • 知道 oeasy.py 正在被别的终端 编辑着
 
  • 可以看看 这个 缓存文件 吗?
再开新终端
  • 再 新开 一个终端
  • 第三个 终端
  • 运行 下面的命令
 
ls -lah .oeasy.py.swp ls -lah oeasy.py
  • 确实可以看到
  • 隐藏的缓存文件
  • .oeasy.py.swp
  • 该文件 有12K
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 那第二个终端窗口
  • 还能打开这个文件吗?
 
打开方式
  • 回到第二个终端里 有几种选择
  • 只读o</kdb>
  • 直接编辑e (自动缓存之前的原始文件)
  • 恢复r(恢复到自动缓存)
  • 退出q</kdb>
  • 终止a</kdb>
 

 
 
添加图片注释,不超过 140 字(可选)
保存并运行
  • 在 第2个 终端 里
  • 选择 r
  • 直接recovery 缓存
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 关闭
  • 第一个终端
  • 第二个 终端
 
保存并关闭
  • 在 第三个终端
  • 修改文件
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 保存并退出
  • 现在文件 都关闭了
  • 也应该 没有 自动缓存 了
 
再查看
  • 在第三个窗口
  • 查看缓存文件
 
ls -l .oeasy.py.swp
  • 由于 内容
  • 已经 存到了硬盘
  • 缓存文件 应该消失了
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 如果还没有消失
  • 就强制删除这个缓存
 
rm .oeasy.swp ls -l .oeasy.py.swp
  • 缓存已确认消失

 
 
添加图片注释,不超过 140 字(可选)
 
  • 如果 再用vim打开文件
  • 还会出现 <span style="background:red;color:white;">E325</span> 吗?
 
尝试运行oeasy.py
  • 直接打开

 
 
添加图片注释,不超过 140 字(可选)
 
  • 尝试运行oeasy.py

 
 
添加图片注释,不超过 140 字(可选)
 
  • 成功 运行了程序!
总结
  • 这次尝试了
  • 两个vim 同时打开
  • 同一py文件
  • vim出现了Error
  • 有各种选择
 
 
  • 错误拼写 pront 导致
  • 运行时 出现了NameError
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 错误(Error)
  • 不是 我们 无能的标记
  • 而是 我们 努力的见证
  • 更是 我们 进步的阶梯
 
  • 如果 程序里的 print
  • 字母没错
  • 但大小写不同
  • 被误写成了 Print
  • 还会报错吗?
 


[oeasy]python0012_程序写错了怎么办的更多相关文章

  1. 使用 Java 程序写文件时,记得要 flush()

    使用 Java 程序往磁盘写文件时碰到了这样的问题:文件写不全. 假如内容(StringBuffer/StringBuilder)有 100W 个字符,但是通过 Java 程序写到文件里的却不到 10 ...

  2. 看程序写结果(program)

    看程序写结果(program) Time Limit:1000ms Memory Limit:64MB 题目描述 LYK 最近在准备 NOIP2017 的初赛,它最不擅长的就是看程序写结果了,因此它拼 ...

  3. 如果$.ajax函数迟迟得不到响应,那么最有可能出错的地方是请求参数写错了

    如下的$.ajax函数 $.ajax({ url: url,// 请求的地址 data:{id:id,pieceId:pieceId,pieceDesc:pieceDesc,actualStock:a ...

  4. 微信小程序 写音乐播放器 slider组件 将value设置为0 真机测试滑块不能回到起点

    最近在用微信小程序写一个音频播放页面,做时间进度的时候用到了slider插件,但是在自然播放完成,或者上/下切换的时候,将slider的value属性值设为0,开发工具上滑块会回到起点,有效.但是真机 ...

  5. 我发现 Linux 文档写错了

    作者:小林coding 图解计算机基础网站:https://xiaolincoding.com 大家好,我是小林. 周末的时候,有位读者疑惑为什么 Linux man 手册中关于 netstat 命令 ...

  6. 用CIL写程序:写个函数做加法

    前言: 上一篇文章小匹夫为CIL正名的篇幅比较多,反而忽略了写那篇文章初衷--即通过写CIL代码来熟悉它,了解它.那么既然有上一篇文章做基础(炮灰),想必各位对CIL的存在也就释然了,兴许也燃起了一点 ...

  7. uva 110 Meta-Loopless Sorts 用程序写程序 有点复杂的回溯水题

    题目要求写一个直接用比较排序的pascal程序,挺有趣的一题. 我看题目数据范围就到8,本来以为贪个小便宜,用switch输出. 然后发现比较次数是阶乘级别的,8的阶乘也是挺大的,恐怕会交不上去. 于 ...

  8. 【学习笔记】C#中HashTable和快速排序的用法,从单词频率统计小程序写起

    先瞎扯点别的.进入这个神圣的地方总需要些鞭策,阿西巴,我是被鞭策进来摆摊的程序猿.软件工程老师说,写程序,发博客,就来博客园.这是个号召力很强的口号.最近看网络营销 搜索引擎优化的书多一些,只能说王老 ...

  9. 收藏收藏:时隔一年,你关注的打造一个实用的TXT文本操作及日志框架,我们开源了,不再为程序写日志发愁(也支持.net core哦)

    记得做这个框架是在2018年刚接触.net core的时候,那个时候为了能够专心的研究我开始不写博客了,但是学有所成并在公司运用了近一年的时间了,决定回来和各位分享我们所掌握的那星星点点的知识,希望可 ...

  10. 没想到吧!关于Dubbo的『消费端线程池模型』官网也写错了。

    这是why的第 63 篇原创文章 荒腔走板 大家好,我是 why,欢迎来到我连续周更优质原创文章的第 63 篇.老规矩,先荒腔走板聊聊其他的. 上面这张图片是我前几天整理相册的时候看到的.拍摄于 20 ...

随机推荐

  1. es命令大全,elasticsearch命令详解

    参考链接 Relational DB Elasticsearch 数据库(database) 索引(indices) 表(tables) types 行(rows) documents 字段(colu ...

  2. 【漏洞复现】用友NC uapjs RCE漏洞(CNVD-C-2023-76801)

    产品介绍 用友NC是一款企业级ERP软件.作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计.采购管理.销售管理.物料管理.生产计划和人力资源管理等,帮助企业实现数字化转型和高效管 ...

  3. 线程同步 进程同步 EventWaitHandle

    这个名字LLLLL取相同就能让同一台电脑上两个进程同步 主动控制程序 class Program { static EventWaitHandle eHandle = new EventWaitHan ...

  4. django设置中文和上海时间

    在settings.py配置文件中进行配置: # 设置为中文 LANGUAGE_CODE = 'zh-hans' # 设置 "亚洲/上海" 时区 TIME_ZONE = 'Asia ...

  5. rabbitmq添加延时通道时报错

    rabbitmq添加延时通道时报错 'x-delayed-type' must be an existing exchange type 解决方案: 我实际用的是x-delayed-type:topi ...

  6. SQL KEEP 窗口函数等价改写案例

    一哥们出条sql题给我玩,将下面sql改成不使用keep分析函数的写法. select deptno, ename, sal, hiredate, min(sal) keep(dense_rank f ...

  7. RTMP 直播 H265 推流适配总结

    1.在iOS11的系统之上,苹果逐渐放开H265硬编硬解的能力,硬解码的能力只要升级到iOS11之后,iPhone6+以上的机型就支持了(印象中): H265硬编码的能力对设备要求较高,不仅要求系统版 ...

  8. 从数据库设计到性能调优,全面掌握openGemini应用开发最佳实践

    本文分享自华为云社区<DTSE Tech Talk × openGemini :从数据库设计到性能调优,全面掌握openGemini应用开发最佳实践>,作者:华为云开源. 在本期<从 ...

  9. SHA256/SHA512码计算方式

    (1)Windows系统计算SHA256/SHA512码的方式: certutil -hashfile yourfilename SHA256/SHA512 以计算readme.txt文档进行说明: ...

  10. 为何Mysql数据库上读和代码读取的数据不一致

    上周,做了一个同步删除的功能,具体流程是,数据库删除-->调用第三方运行删除接口,同步删除. 具体流程 数据库删除数据后,这里使用标志删除,再调用第三方数据. 在调用第三方数据之前需要通过id查 ...