《树莓派Python编程入门与实战》——3.7 创建Python脚本

简介:

本节书摘来异步社区《树莓派Python编程入门与实战》一书中的第3章,第3.7节,作者:【美】Richard Blum,更多章节内容可以访问云栖社区“异步社区”公众号查看

3.7 创建Python脚本

树莓派Python编程入门与实战
你可以将Python语句写入文件后再批量运行它们,而不是在每次需要运行程序的时候都一行一行输入进去。这些包含Python语句的文件叫作脚本。

你可以通过Python交互式shell或者用IDLE运行这些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 ~ $```
提示:
 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 ~ $`
提示:
 脚本存储位置

把你的Python脚本存储在一个标准的位置是个不错的注意。本书使用子文件夹/home/pi/py3prog。
要在IDLE中运行sample.py脚本,首先启动IDLE然后在交互式主窗口按组合键Ctrl+O或者选择File菜单中的Open项。然后Open窗口会打开,定位到Python脚本所在的位置,在这个例子中,sample.py在/home/pi/py3prog目录,如图3.8所示。选中脚本然后单击Open按钮打开。

a2a4bb1f488dcd18a48ca14d76425cbd277d2936

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

e345a86b32436d4f248b8249bd6126013845d35b

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

1a7b4008d8baac33c5a6c1af97c11a54d05fe134

警告:
 我的脚本在哪里输出?

当你第一次使用IDLE时,你可能会对Python脚本输出到哪里感到困惑。只要记住,输出始终被显示在IDLE的主要交互模式窗口中。在这个窗口的标题栏上写有“Python shell”。不管你正在运行一个脚本还是输入一条条Python语句,都是这样。
现在你已经知道两种运行脚本的方法了,是时候看看如何创建一个脚本了。同样你有两种方法可供选择。

3.7.2 使用IDLE创建一个脚本

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

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

技巧:
 在IDLE中进行编辑

你不应局限于仅使用方向键和清除键编辑文本文件。看看在编辑菜单中的所有可用选项。你可以撤销一个修改,查找单词,复制和粘贴等。IDLE文本编辑器可能功能比较简单,但它能为你提供很大的帮助。
要保存Python脚本文件,可以通过按Ctrl + S组合键或通过单击File菜单,然后选择Save。一个Save As窗口就会出现,如图3.11所示。选择至你要保存文件的目录。输入文件的名字,然后单击Save按钮。

6de04a55b9c5c3998d38d0d05e8ce4f56e057e82

技巧:
 Python脚本中的“py”

在图3.11中文件结尾有一个.py。这个文件扩展名指明它是一个Python脚本。因此,所有的Python脚本都应像filename.py一样命名。

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

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

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

在命令行中,你可以输入nano然后回车来启动nano文本编辑器。要在图形界面中启动nano,你可以单击LXPanel的最左侧的LXDE程序菜单图标,然后将鼠标悬停在其他子菜单上,在显示的菜单上单击选择Nano菜单项。

但是注意,nano文本编辑器不会对Python语句进行任何语法检查。它也不会在你输入代码进行任何代码高亮变色的提示。当然,它也不会进行自动缩进。nano在你编辑Python脚本时不会提供任何手把手的帮助。

图3.12显示图形界面中的nano文本编辑器。注意在图形界面中,LXTerminal是打开的,nano编辑器正在其中运行。nano编辑器的标题栏是从左边“GNU nano”和nano编辑器版本号下方开始的那条线。而标题栏的中间在创建新文件时会显示“New Buffer”,或者是你正在编辑的文件的名字。

aebc3fdc17be72641e606f5a370961a43770b2b3

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

提示:
 消息区

在nano编辑器的窗口底部两行的右上方是一个特殊的消息、问题区域。这块区域通常是空白的。但是当有一条消息或者问题,例如File Name to Write:,它就会被显示在这里。
nano编辑器底部两行的内容是通常被用到的键盘命令。这些快捷键实际上是nano文本编辑器的命令。这个窗口使用^来表示Ctrl键。因此,命令^G表示使用Ctrl+G组合键。表3.2列出了一些nano编辑器的基本命令。

c74435e0fc9897556acfc5501d9564af845ac39d
相关文章
|
5天前
|
API 数据库 数据安全/隐私保护
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】Django REST framework (DRF) 是用于构建Web API的强力工具,尤其适合Django应用。本文深入讨论DRF面试常见问题,包括视图、序列化、路由、权限控制、分页过滤排序及错误处理。同时,强调了易错点如序列化器验证、权限认证配置、API版本管理、性能优化和响应格式统一,并提供实战代码示例。了解这些知识点有助于在Python面试中展现优秀的Web服务开发能力。
22 1
|
1天前
|
SQL 关系型数据库 MySQL
第十三章 Python数据库编程
第十三章 Python数据库编程
|
1天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
1天前
|
存储 索引 Python
Python从入门到精通——1.3.1练习编写简单程序
Python从入门到精通——1.3.1练习编写简单程序
|
2天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
2天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
2天前
|
Java 数据库连接 数据处理
Python从入门到精通:3.1.2多线程与多进程编程
Python从入门到精通:3.1.2多线程与多进程编程
|
2天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
2天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
6 0
|
5天前
|
SQL 中间件 API
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】**Flask是Python的轻量级Web框架,以其简洁API和强大扩展性受欢迎。本文深入探讨了面试中关于Flask的常见问题,包括路由、Jinja2模板、数据库操作、中间件和错误处理。同时,提到了易错点,如路由冲突、模板安全、SQL注入,以及请求上下文管理。通过实例代码展示了如何创建和管理数据库、使用表单以及处理请求。掌握这些知识将有助于在面试中展现Flask技能。**
12 1
Flask框架在Python面试中的应用与实战