《树莓派Python编程入门与实战(第2版)》——3.7 创建Python脚本-程序员宅基地

技术标签: python  shell  操作系统  

本节书摘来自异步社区《树莓派Python编程入门与实战(第2版)》一书中的第3章,第3.7节,作者[美] Richard Blum Christine Bresnahan,陈晓明 马立新 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.7 创建Python脚本

可以将Python语句写入文件,然后再批量运行它们,而不是在每次需要运行程序的时候都一行一行输入Python语句。这些包含Python语句的文件叫作脚本。

你可以通过Python交互式shell或者用IDLEShell运行这些Python脚本。清单3.3显示了名为sample.py的脚本文件,它包含了两条语句。

清单3.3 sample.py脚本

pi@raspberrypi ~ $ cat py3prog/sample.py
print("Here is a sample python script.")
print("Here is the second line of the sample script.")
pi@raspberrypi ~ $
TIP 提示: sample.py在哪儿?
在你的树莓派上是找不到这个脚本py3prog/sample.py的。它是为本书而创建的。在本章的后面,你将学会如何创建自己的Python脚本。

3.7.1 在交互式shell中运行Python脚本

为了在Python交互式shell中执行sample.py脚本,可以在命令行中键入python3 py3prog/ sample.py,然后按回车键。清单3.4显示了结果。就像你看见的那样,shell执行了这两条语句,并且没有出现任何问题。

清单3.4 执行sample.py

pi@raspberrypi ~ $ python3 py3prog/sample.py
Here is a sample python script.
Here is the second line of the sample script.
pi@raspberrypi ~ $
TIP 提示:脚本存储位置
把Python脚本存储在一个标准的位置是个不错的注意,本书使用子文件夹/home/pi/ py3prog存储文本文件。

3.7.2  在IDLE中运行Python脚本

要在IDLE中运行sample.py脚本,首先启动IDLE,然后在交互式模式中(shell)按组合键Ctrl+O或者选择File菜单中的Open选项。然后Open窗口会打开,定位到Python脚本所在的位置,在这个例子中,sample.py在/home/pi/py3prog目录,如图3.8所示。选中脚本后单击Open按钮。


1e664cff847df228b08d6f58029693048df152d9

当你单击Open按钮时,另一个IDLE窗口会打开,它会显示Python脚本,并在窗口的标题栏显示它的位置和名字(如图3.9所示)。

现在,运行Python脚本,在Python脚本窗口,按F5键或单击Run菜单,然后选择Run Module。控制会回到最初打开的IDLE窗口(IDLE交互模式窗口),然后Python脚本的运行结果会显示出来,如图3.10所示。

CAUTION 警告:我的脚本在哪里输出?
当第一次使用IDLE时,你可能会对Python脚本输出到哪里感到困惑。只要记住,输出始终显示在IDLE的主交互模式窗口中。在这个窗口的标题栏上写有“Python Shell”。


ca2b6b3e68e33f5a2bc818e56a6c556efc45bd1e


d40a1246de7fd17f2c050984e8d47c7bbc51b194

现在你已经知道两种运行脚本的方法了,是时候看看如何创建一个脚本了。要创建一个脚本,同样有两种方法可供选择。

3.7.3 使用IDLE创建一个脚本

在IDLE中创建脚本非常容易。在IDLE交互模式窗口上按Ctrl+N组合键或者单击File菜单,然后选择New Window,就可以轻松打开一个IDLE文本编辑窗口。你会看到这个新打开的窗口的标题栏上显示的是“Untitled”。它是一个基本的IDLE文本编辑器。在这个模式下,当你输入Python语句时,它们不会被解释执行,当然也就没有输出会显示。

在基本的IDLE文本编辑器中,输入一些Python语句来创建脚本。完成之后,可以把这些语句保存到一个文件中。

NOTE 技巧:在IDLE中进行编辑
你不应局限于仅使用箭头方向键和Delete键编辑文本文件。看看在编辑菜单中的所有可用选项,可以撤销一个修改、查找单词、复制和粘贴等。IDLE文本编辑器功能比较简单,但它能为你提供很大的帮助。

要保存Python脚本文件,可以通过按Ctrl+S组合键或单击File菜单,然后选择Save。一个Save As窗口就会出现,如图3.11所示。选择要保存文件的目录,输入文件的名字,然后单击Save按钮。


0beccd239afde84b26bcf2764e80531e1f341188
NOTE 技巧:Python脚本中的“py”
在图3.11中,文件结尾有一个.py。这个文件扩展名表示它是一个Python脚本。因此,所有的Python脚本都应该像scriptname.py一样命名。

3.7.4 使用文本编辑器创建一个Python脚本

除了IDLE之外,还有一些其他的文本编辑器可以使用。在Raspbian上有两个默认可用的编辑器。一个是Leaf Pad,这是一个面向学龄儿童的工具;另一个是nano。

NOTE 技巧:文本编辑器的更多知识
可用的文本编辑器比本书所介绍的要多得多。其中的一些是默认安装的,而另一些则需要单独安装。要了解文本编辑器的完整列表,请访问如下的Web页面:www.raspberrypi.org/documentation/linux/usage/text-editors.md。

nano文本编辑器非常小型且轻量化,对树莓派来说非常完美。和其他更复杂的文本编辑器相比,nano非常易用。相较于IDLE中的编辑器,nano最大的优点是它可以同时在GUI和命令行中使用!

在命令行中,可以输入nano然后按下回车键来启动nano文本编辑器。但是注意,nano文本编辑器不会对Python语句进行任何语法检查,它也不会在你输入代码时进行任何代码高亮变色的提示。当然,它也不会进行自动缩进。当编辑Python脚本时,nano不会提供任何手把手的帮助,尽管有些程序员希望编辑器能帮他们做这些事情。

图3.12展示了如何使用nano文本编辑器。nano编辑器程序窗口的标题栏的最左边以GNU nano打头,然后是nano编辑器的版本号。在标题栏的中间,如果你创建了一个新的文件的话,将会显示New Buffer,或者如果你在编辑一个文件的话,这里显示的是所编辑的文件的名称。


398d2397568140363ec90ecbbfe8f62a2a694d91

nano编辑器的中间面板是编辑区域,这里是添加新的Python语句或者对已有的文件进行修改的地方。

TIP 提示:消息区
在nano编辑器的窗口底部两行的右上方是一个特殊的消息/问题区域。这块区域通常是空白的。但是当nano有一条特殊的消息或者问题,例如File Name to Write:,它就会显示在这里。

nano编辑器底部两行的内容展示了最常用的键盘命令。这些快捷键实际上是nano文本编辑器的命令。这个窗口使用^来表示Ctrl键。因此,命令^G表示使用Ctrl+G组合键。表3.2列出了nano编辑器的一些基本的命令。


4eec230f9ef5c56576c4d8965cba9da7f1fe8ba9

如果想要了解nano编辑器的更多信息,你可以按Ctrl+G组合键以阅读它的帮助信息,另一个途径是访问nano编辑器的主页www.nanoeditor.org。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34319999/article/details/90557129

智能推荐

EmEditor Professional v14/15/16/17/18 最新版 注册码 2000组(终身授权)_sm52.vip-程序员宅基地

文章浏览阅读7.8w次,点赞13次,收藏36次。EmEditor 是快速,轻巧,可扩展,使用方便的 Windows 文本编辑器。同时支持32位和64位版本!ZDnet.com 的 Ed Burnette 称 EmEditor 为 “全球最快的文本编辑器”。 (见全文)日本人气网站窓の杜 (Mado-no-mori) 评价,“无需 Excel。最强 CSV 编辑器”。(见译文)Riccardo Tani,一位网络防御经理,推荐用 Em..._sm52.vip

面试高频手撕题 | 09.将两个有序数组合并成一个有序数组_开合跳、色盲测试、展示手心手背-程序员宅基地

文章浏览阅读842次,点赞23次,收藏18次。一、知识点斐波那契数列(Fibonacci sequence),又称黄金分割数列,是一个经典的数学数列,起始于 0 和 1,后续的每一项都是前两项的和。指针指向下一个节点,从而形成链表。一、知识点归并排序:归并排序(Merge sort)是建立在归并操作上的一种有效、稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一。//这题我写的非常恼火,有时候题目整的的谜语人一样,例子也不能多给几个,就靠提交的过程中遇到的错误去判错,简直是一种侮辱package mainimport (_开合跳、色盲测试、展示手心手背

C++数字图像处理篇之图像加马赛克_mfc马赛克-程序员宅基地

文章浏览阅读5.4k次,点赞4次,收藏15次。马赛克是一种广为使用的图像处理手段,它是将影像特定区域的色阶细节劣化并造成色块打乱的效果。这种模糊看样子像一个个小格子,所以被称为马赛克。马赛克主要的目的就是使图像内容无法辨认,以保护特殊图像内容。这样的例子我们经常遇到,例如在新闻中保护当事人的隐私。图像加马赛克类似与图像重采样。我们在实验中采用的算法就是比较简单的加马赛克的算法,就是按固定间隔取像素点,将图片分割成一些嗯小块,每个小块的灰度..._mfc马赛克

Linux>命令参数介绍_linux >> 参数-程序员宅基地

文章浏览阅读169次。ls 命令常用选项及功能ls命令的基本格式 ls [选项] 目录名称选项功能-a显示全部的文件,包括隐藏文件(开头为 . 的文件)也一起罗列出来,这是最常用的选项之一。-A显示全部的文件,连同隐藏文件,但不包括 . 与 … 这两个目录。-d仅列出目录本身,而不是列出目录内的文件数据。-fls 默认会以文件名排序,使用 -f 选项会直接列出结果..._linux >> 参数

以太网 知识-MII接口 RMII / SMII接口 MII / RGMII接口_mii/rmii怎么接两个phy-程序员宅基地

文章浏览阅读2w次。本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在10/100模式下和1000M模式下的设计方法。1. MII接口分析 MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术,该接口支持10Mb/s与100Mb/s的数据传输速率,数据传输的位宽为4位。 提到MII,就有可能涉及到RS,PLS,STA等名词术语,下面讲一下他们之间对应的关系_mii/rmii怎么接两个phy

K210 图像识别 (加训练模型)_k210图像识别-程序员宅基地

文章浏览阅读3.4w次,点赞85次,收藏742次。以管理员的方式运行下载模式 高速改为低速模式_k210图像识别

随便推点

计算机操作系统第三章自测题-处理机调度与死锁-程序员宅基地

文章浏览阅读1.7k次,点赞2次,收藏20次。1、在单处理器的多进程系统中,进程什么时候占有处理器以及决定占用时间的长短是由( )决定的。A、进程运行时间    B、进程的特点和进程调度策略C、进程执行的代码   D、进程完成什么功能进程调度的时机与进程特点有关,如进程是否为CPU繁忙型还是I/O繁忙型、自身的优先级等。但是仅这些特点是不够的,能否得到调度还取决于进程调度策略,若采用优先级调度算法,则进程的优先级才起作用。..._在选择处理器调度算法时,为了使短作业、长作业及交互作业用户都比较满意,应采用( ).a基于优先权的剥夺调度算法b响应比优先算法c时间片轮转法d多级反馈队列调度算法e短作业优先调度算法ffcfs调度算法

[MySQL] 查看正在执行的sql语句 show processlist_show processlist 能显示sql 语句吗-程序员宅基地

文章浏览阅读8.9k次。processlist命令的输出结果显示了有哪些线程在运行可以帮助识别出有问题的查询语句,两种方式使用这个命令。 1. 进入mysql/bin目录下输入mysql admin processlist; 2. 启动mysql,输入show processlist; 如果有SUPER权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户..._show processlist 能显示sql 语句吗

小学生学python到底能干什么-颤抖 | 小学生都开始学Python了,十年后你还有工作么?...-程序员宅基地

文章浏览阅读156次。原标题:颤抖 | 小学生都开始学Python了,十年后你还有工作么?今 日 摘 要AI火爆全球,Python技能需求达到174%!小学生已经开始学Python,还成为高考必备项目,十年后你还有工作么?今日活动:Python数据学习交流群进群福利:超过10万人下载的10本最火数据书籍+ 1000+Python高清教学视频+ Python数据分析工具书+ 名企导师专场AI & Python专场讲座德勤...

《鸟哥的Linux私房菜》第四版导学_好了a18第四-程序员宅基地

文章浏览阅读1.1w次。鸟哥的Linux私房菜0、计算机概论0.1、电脑:辅助人脑的好工具(什么是电脑?什么是计算机a3)0.1.1、电脑硬件的五大单元(电脑硬件大致可分为三个部分b3)(什么是CPU a4)(CPU主要的组成部分b4)(算术逻辑单元的功能c4)(控制单元的功能d4)(CPU读取的数据来源e4)(电脑硬件的五个组成部分f4)(数据在内存流动的基本知识g4)0.1.2、一切设计的起点:CPU架构(常见的两种CPU架构a5)(世界上使用最广的CPU b5)(常见的RISC指令集CPU c5)(常见的CISC指_好了a18第四

卡莱特led显示屏调试教程_卡莱特A接收卡调屏步骤-程序员宅基地

文章浏览阅读3.8k次。卡莱特5A接收卡调屏步骤卡莱特5A接收卡支持千兆网卡和发送卡两种发送方式,两种方式在5A接收卡的设置方面步骤相似,本文将讲述在千兆网卡发送条件下,5A接收卡的参数设置步骤。一、硬件连接1、发送卡连接图详见《卡莱特发送卡设备连接操作》2、千兆网卡连接图千兆网卡连接拓扑图千兆网卡硬件连接注意事项:a)电脑网卡必须是千兆网卡;b)电脑千兆网卡驱动必须安装正确;c)千兆网卡与5A接收卡、5A接收卡之间的网..._卡莱特指示灯

react Link跳转无效_React Native开发之react-navigation详解-程序员宅基地

文章浏览阅读299次。众所周知,在多页面应用程序中,页面的跳转是通过路由或导航器来实现的。在0.44版本之前,开发者可以直接使用官方提供的Navigator组件来实现页面的跳转,不过从0.44版本开始,Navigator被官方从react native的核心组件库中剥离出来,放到react-native-deprecated-custom-components的模块中。 如果开发者需要继续使用Navigator,则需要..._react navigate(-1) url不生效

推荐文章

热门文章

相关标签