《树莓派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

智能推荐

软件测试流程包括哪些内容?测试方法有哪些?_测试过程管理中包含哪些过程-程序员宅基地

文章浏览阅读2.9k次,点赞8次,收藏14次。测试主要做什么?这完全都体现在测试流程中,同时测试流程是面试问题中出现频率最高的,这不仅是因为测试流程很重要,而是在面试过程中这短短的半小时到一个小时的时间,通过测试流程就可以判断出应聘者是否合适,故在测试流程中包含了测试工作的核心内容,例如需求分析,测试用例的设计,测试执行,缺陷等重要的过程。..._测试过程管理中包含哪些过程

政府数字化政务的人工智能与机器学习应用:如何提高政府工作效率-程序员宅基地

文章浏览阅读870次,点赞16次,收藏19次。1.背景介绍政府数字化政务是指政府利用数字技术、互联网、大数据、人工智能等新技术手段,对政府政务进行数字化改革,提高政府工作效率,提升政府服务质量的过程。随着人工智能(AI)和机器学习(ML)技术的快速发展,政府数字化政务中的人工智能与机器学习应用也逐渐成为政府改革的重要内容。政府数字化政务的人工智能与机器学习应用涉及多个领域,包括政策决策、政府服务、公共安全、社会治理等。在这些领域,人工...

ssm+mysql+微信小程序考研刷题平台_mysql刷题软件-程序员宅基地

文章浏览阅读219次,点赞2次,收藏4次。系统主要的用户为用户、管理员,他们的具体权限如下:用户:用户登录后可以对管理员上传的学习视频进行学习。用户可以选择题型进行练习。用户选择小程序提供的考研科目进行相关训练。用户可以进行水平测试,并且查看相关成绩用户可以进行错题集的整理管理员:管理员登录后可管理个人基本信息管理员登录后可管理个人基本信息管理员可以上传、发布考研的相关例题及其分析,并对题型进行管理管理员可以进行查看、搜索考研题目及错题情况。_mysql刷题软件

根据java代码描绘uml类图_Myeclipse8.5下JAVA代码导成UML类图-程序员宅基地

文章浏览阅读1.4k次。myelipse里有UML1和UML2两种方式,UML2功能更强大,但是两者生成过程差别不大1.建立Test工程,如下图,uml包存放uml类图package com.zz.domain;public class User {private int id;private String name;public int getId() {return id;}public void setId(int..._根据以下java代码画出类图

Flume自定义拦截器-程序员宅基地

文章浏览阅读174次。需求:一个topic包含很多个表信息,需要自动根据json字符串中的字段来写入到hive不同的表对应的路径中。发送到Kafka中的数据原本最外层原本没有pkDay和project,只有data和name。因为担心data里面会空值,所以根同事商量,让他们在最外层添加了project和pkDay字段。pkDay字段用于表的自动分区,proejct和name合起来用于自动拼接hive表的名称为 ..._flume拦截器自定义开发 kafka

java同时输入不同类型数据,Java Spring中同时访问多种不同数据库-程序员宅基地

文章浏览阅读380次。原标题:Java Spring中同时访问多种不同数据库 多样的工作要求,可以使用不同的工作方法,只要能获得结果,就不会徒劳。开发企业应用时我们常常遇到要同时访问多种不同数据库的问题,有时是必须把数据归档到某种数据仓库中,有时是要把数据变更推送到第三方数据库中。使用Spring框架时,使用单一数据库是非常容易的,但如果要同时访问多个数据库的话事件就变得复杂多了。本文以在Spring框架下开发一个Sp..._根据输入的不同连接不同的数据库

随便推点

EFT试验复位案例分析_eft电路图-程序员宅基地

文章浏览阅读3.6k次,点赞9次,收藏25次。本案例描述了晶振屏蔽以及开关电源变压器屏蔽对系统稳定工作的影响, 硬件设计时应考虑。_eft电路图

MR21更改价格_mr21 对于物料 zba89121 存在一个当前或未来标准价格-程序员宅基地

文章浏览阅读1.1k次。对于物料价格的更改,可以采取不同的手段:首先,我们来介绍MR21的方式。 需要说明的是,如果要对某一产品进行价格修改,必须满足的前提条件是: ■ 1、必须对价格生效的物料期间与对应会计期间进行开启; ■ 2、该产品在该物料期间未发生物料移动。执行MR21,例如更改物料1180051689的价格为20000元,系统提示“对于物料1180051689 存在一个当前或未来标准价格”,这是因为已经对该..._mr21 对于物料 zba89121 存在一个当前或未来标准价格

联想启天m420刷bios_联想启天M420台式机怎么装win7系统(完美解决usb)-程序员宅基地

文章浏览阅读7.4k次,点赞3次,收藏13次。[文章导读]联想启天M420是一款商用台式电脑,预装的是win10系统,用户还是喜欢win7系统,该台式机采用的intel 8代i5 8500CPU,在安装安装win7时有很多问题,在安装win7时要在BIOS中“关闭安全启动”和“开启兼容模式”,并且安装过程中usb不能使用,要采用联想win7新机型安装,且默认采用的uefi+gpt模式,要改成legacy+mbr引导,那么联想启天M420台式电..._启天m420刷bios

冗余数据一致性,到底如何保证?-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏9次。一,为什么要冗余数据互联网数据量很大的业务场景,往往数据库需要进行水平切分来降低单库数据量。水平切分会有一个patition key,通过patition key的查询能..._保证冗余性

java 打包插件-程序员宅基地

文章浏览阅读88次。是时候闭环Java应用了 原创 2016-08-16 张开涛 你曾经因为部署/上线而痛苦吗?你曾经因为要去运维那改配置而烦恼吗?在我接触过的一些部署/上线方式中,曾碰到过以下一些问题:1、程序代码和依赖都是人工上传到服务器,不是通过工具进行部署和发布;2、目录结构没有规范,jar启动时通过-classpath任意指定;3、fat jar,把程序代码、配置文件和依赖jar都打包到一个jar中,改配置..._那么需要把上面的defaultjavatyperesolver类打包到插件中

VS2015,Microsoft Visual Studio 2005,SourceInsight4.0使用经验,Visual AssistX番茄助手的安装与基本使用9_番茄助手颜色-程序员宅基地

文章浏览阅读909次。1.得下载一个番茄插件,按alt+g才可以有函数跳转功能。2.不安装番茄插件,按F12也可以有跳转功能。3.进公司的VS工程是D:\sync\build\win路径,.sln才是打开工程的方式,一个是VS2005打开的,一个是VS2013打开的。4.公司库里的线程接口,在CmThreadManager.h 里,这个里面是我们的线程库,可以直接拿来用。CreateUserTaskThre..._番茄助手颜色

推荐文章

热门文章

相关标签