《树莓派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
相关文章
|
8天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
8天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
12天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。
|
13天前
|
存储 缓存 JavaScript
python实战篇:利用request库打造自己的翻译接口
python实战篇:利用request库打造自己的翻译接口
26 1
python实战篇:利用request库打造自己的翻译接口
|
1天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
10 1
|
1天前
|
安全 数据处理 开发者
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
12 1
|
1天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
23 0
|
2天前
|
API Python
Python模块化编程:面试题深度解析
【4月更文挑战第14天】了解Python模块化编程对于构建大型项目至关重要,它涉及代码组织、复用和维护。本文深入探讨了模块、包、导入机制、命名空间和作用域等基础概念,并列举了面试中常见的模块导入混乱、不适当星号导入等问题,强调了避免循环依赖、合理使用`__init__.py`以及理解模块作用域的重要性。掌握这些知识将有助于在面试中自信应对模块化编程的相关挑战。
17 0
|
3天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
37 0
|
3天前
|
程序员 索引 Python
06-python数据容器-set(集合)入门基础操作
06-python数据容器-set(集合)入门基础操作