如何在 Linux 命令行中运行 Python 脚本?
Python 是一种高级编程语言,被广泛应用于数据科学、机器学习、Web 开发等领域。在 Linux 操作系统中,Python 是一个默认安装的解释器,用户可以通过命令行界面(CLI)来运行 Python 脚本。
在本文中,我们将详细介绍如何在 Linux 命令行中运行 Python 脚本。我们将讨论以下主题:
- Python 解释器在 Linux 中的位置
- 创建 Python 脚本
- 运行 Python 脚本
- 添加参数和选项
- 将输出重定向到文件
- 常见问题和解决方法
Python 解释器在 Linux 中的位置
在 Linux 中,Python 解释器通常安装在 /usr/bin/python
或 /usr/bin/python3
目录下。如果您不确定 Python 解释器的位置,可以在命令行中运行以下命令:
which python
这将显示 Python 解释器的完整路径。如果您安装了多个版本的 Python 解释器,可以使用 python3
命令来指定使用 Python 3.x 版本的解释器。
创建 Python 脚本
创建 Python 脚本非常简单。在 Linux 命令行中,您可以使用任何文本编辑器来创建一个新的 Python 脚本文件。例如,使用 nano
命令来创建一个名为 hello.py
的 Python 脚本:
nano hello.py
这将打开 nano
编辑器,并在其中创建一个新文件 hello.py
。您可以在该文件中编写 Python 代码。例如,以下是一个简单的 Python 脚本,它将打印一条消息:
print("Hello, World!")
在 nano
编辑器中,您可以使用快捷键 Ctrl + X
来保存并退出编辑器。当您按下该快捷键时,您将看到提示消息询问是否要保存文件。按下 Y
键即可保存文件。然后,您将被带回到命令行界面。
运行 Python 脚本
要在 Linux 命令行中运行 Python 脚本,您需要使用以下命令:
python hello.py
这将使用默认的 Python 解释器来执行 hello.py
文件中的代码,并在命令行界面上输出 "Hello, World!"
消息。如果您安装了多个版本的 Python 解释器,可以使用 python3
命令来指定使用 Python 3.x 版本的解释器。例如,要使用 Python 3.x 版本的解释器来运行脚本,请使用以下命令:
python3 hello.py
添加参数和选项
您可以在命令行中向 Python 脚本传递参数和选项。在 Python 脚本中,您可以使用sys.argv
对象来获取这些参数和选项。sys.argv
是一个包含命令行参数的列表,其中第一个元素是脚本的名称,后面的元素是传递给脚本的参数和选项。以下是一个简单的 Python 脚本,它将读取传递给它的参数,并将它们打印到命令行界面上:
import sysfor arg in sys.argv: print(arg)
要向 Python 脚本传递参数,请在命令行中使用以下命令:
python script.py arg1 arg2 arg3
这将运行 script.py
文件,并将 arg1
、arg2
和 arg3
作为参数传递给它。在 Python 脚本中,您可以使用 sys.argv
来访问这些参数。例如,使用以下命令来运行上面的 Python 脚本,并将 arg1
、arg2
和 arg3
作为参数传递给它:
python script.py arg1 arg2 arg3
这将输出以下内容:
script.pyarg1arg2arg3
除了参数外,您还可以在命令行中使用选项来配置 Python 脚本的行为。例如,以下是一个 Python 脚本,它将读取传递给它的选项,并将它们打印到命令行界面上:
import argparseparser = argparse.ArgumentParser()parser.add_argument("--name", help="your name")parser.add_argument("--age", help="your age")args = parser.parse_args()print(f"Your name is {args.name}")print(f"Your age is {args.age}")
在上面的脚本中,我们使用 argparse
模块来解析命令行选项。使用 add_argument
方法来定义需要接受的选项。在这个例子中,我们定义了两个选项:--name
和 --age
。然后,我们使用 parse_args
方法来解析这些选项,并将它们保存在 args
对象中。最后,我们将使用 args
对象来访问选项的值,并将它们打印到命令行界面上。
要使用选项来运行 Python 脚本,请在命令行中使用以下命令:
python script.py --name Alice --age 30
这将运行 script.py
文件,并将 --name
和 --age
选项设置为 Alice
和 30
。在 Python 脚本中,我们使用 argparse
模块来解析这些选项,并将它们打印到命令行界面上。
将输出重定向到文件
默认情况下,Python 脚本的输出将打印到命令行界面上。但是,有时您可能希望将输出保存到文件中。在 Linux 中,您可以使用输出重定向来实现这一点。
要将 Python脚本的输出重定向到文件,请在命令行中使用以下命令:
python script.py > output.txt
这将运行 script.py
文件,并将输出重定向到 output.txt
文件中。在文件中,您将看到与命令行界面上相同的输出。
您还可以将输出附加到文件中,而不是覆盖它。要附加输出,请使用以下命令:
python script.py >> output.txt
这将运行 script.py
文件,并将输出附加到 output.txt
文件的末尾。
使用管道连接多个命令
在 Linux 中,您可以使用管道 |
将多个命令连接在一起。这将使每个命令的输出成为下一个命令的输入。
例如,假设您有一个 Python 脚本,它输出一系列数字,您希望对这些数字进行排序。您可以使用以下命令来实现这一点:
python script.py | sort
这将运行 script.py
文件,并将其输出发送到 sort
命令。sort
命令将读取 script.py
文件的输出,并将数字排序后将其输出到命令行界面上。
您还可以将多个命令连接在一起来执行复杂的操作。例如,以下命令将运行一个 Python 脚本,该脚本输出一些文本,然后将这些文本传递给 grep
命令,grep
命令将搜索包含特定单词的行:
python script.py | grep "keyword"
这将运行 script.py
文件,并将其输出发送到 grep
命令。grep
命令将搜索包含 “keyword” 的行,并将它们输出到命令行界面上。
使用 Python 脚本自动化任务
使用 Python 脚本在 Linux 命令行中运行程序可以自动化许多任务。例如,您可以使用 Python 脚本来:
- 自动化数据备份和恢复
- 自动更新软件包
- 自动管理文件系统
- 自动发送电子邮件或短信
- 自动化服务器管理任务,如日志清理和监控
这里是一个例子,演示了如何使用 Python 脚本自动化数据备份和恢复。
import osimport shutilimport tarfiledef backup(source, destination): with tarfile.open(destination, "w:gz") as tar: tar.add(source)def restore(source, destination): with tarfile.open(source, "r:gz") as tar: tar.extractall(destination)if __name__ == "__main__": # 备份数据 source = "/home/user/data" destination = "/home/user/backup.tar.gz" backup(source, destination) # 恢复数据 source = "/home/user/backup.tar.gz" destination = "/home/user/data-restored" restore(source, destination)
这个 Python 脚本将一个目录压缩成一个 tar.gz 文件,并将其保存到备份目录中。它还提供了一个恢复函数,该函数将 tar.gz 文件解压缩到指定目录中。
您可以将此脚本添加到 crontab
文件中,以在每天或每周自动备份数据。要编辑 crontab
文件,请在命令行中输入:
crontab -e
然后添加以下行:
0 0 * * * /usr/bin/python /path/to/backup_script.py
这将每天午夜自动运行脚本,将数据备份到指定的目录中。
总结
在 Linux 命令行中运行 Python 脚本是一种有效的自动化任务和快速编写脚本的方法。使用 Python,您可以轻松地读取和操作文件、数据和网络资源。您可以将 Python 脚本与其他 Linux 命令和工具连接在一起,以构建强大的自动化工具。通过了解如何在 Linux 命令行中运行 Python 脚本,您可以在 Linux 系统上执行各种任务,并将其自动化,从而节省时间和提高效率。
感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你,干货内容包括:
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等习教程。带你从零基础系统性的学好Python!
👉Python所有方向的学习路线👈
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉Python入门学习视频👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉Python副业兼职路线&方法👈
学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。
👉Python学习礼包👈
包括:Python开发工具、Python热门电子书、Python100道练习题、Python爬虫&数据分析&人工智能&办公自动化等学习资料
👉Python实战练手案例&源码👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python大厂面试资料👈
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费
】
点击免费领取《CSDN大礼包》:Python入门到进阶资料 & 实战源码 & 兼职接单方法 安全链接免费领取
来源地址:https://blog.csdn.net/Python84310366/article/details/130638465
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341