1 如何在Linux命令行中运行Python脚本-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Linux命令行中运行Python脚本

jf_78858299 来源:运维漫谈 作者:运维漫谈 2023-05-12 14:49 次阅读

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 sys

for arg in sys.argv:
    print(arg)

要向 Python 脚本传递参数,请在命令行中使用以下命令:

python script.py arg1 arg2 arg3

这将运行 script.py 文件,并将 arg1arg2arg3 作为参数传递给它。在 Python 脚本中,您可以使用 sys.argv 来访问这些参数。例如,使用以下命令来运行上面的 Python 脚本,并将 arg1arg2arg3 作为参数传递给它:

python script.py arg1 arg2 arg3

这将输出以下内容:

script.py
arg1
arg2
arg3

除了参数外,您还可以在命令行中使用选项来配置 Python 脚本的行为。例如,以下是一个 Python 脚本,它将读取传递给它的选项,并将它们打印到命令行界面上:

import argparse

parser = 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 选项设置为 Alice30。在 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 os
import shutil
import tarfile

def 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 系统上执行各种任务,并将其自动化,从而节省时间和提高效率。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1262

    浏览量

    69440
  • Linux
    +关注

    关注

    87

    文章

    11291

    浏览量

    209308
  • 编程语言
    +关注

    关注

    10

    文章

    1942

    浏览量

    34706
  • 机器学习
    +关注

    关注

    66

    文章

    8406

    浏览量

    132553
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84623
收藏 人收藏

    评论

    相关推荐

    caxa命令行的应用

    caxa命令行的应用 命令行对于大多用户来说往往只是输入数据的作用,但是其中的奥妙还有很多,下面就给大家
    发表于 10-18 18:18 2294次阅读

    Linux命令行和shell脚本编程宝典PDF电子书免费下载

    基础部分需要学习的内容很多,本宝典不仅简明扼要地介绍了开源Linux软件的结构,并且展示了如何摒弃笨重的Linux图形用户界面,而使用一种更加快速而有效的方式一命令行和自动化脚本。您将
    发表于 05-16 17:22 15次下载
    <b class='flag-5'>Linux</b><b class='flag-5'>命令行</b>和shell<b class='flag-5'>脚本</b>编程宝典PDF电子书免费下载

    AWS提供基于WEB的命令行访问途径

    亚马逊云服务(AWS)今日正式推出了基于 Amazon Linux 2 的 CloudShell 服务,旨在为用户提供基于 Web 的功能齐全的命令行访问途径。在今日的公告,亚马逊首席技术官
    的头像 发表于 12-16 16:12 1957次阅读

    Linux 命令行教程好书推荐

    今天跟大家推荐个 Linux 命令行教程:《The Linux Command Line》,中文译名:《Linux 命令行大全》。 该书作者
    的头像 发表于 02-14 09:25 1471次阅读

    何在Linux使用pidof命令

    `pidof`是一个命令行程序,可让您找到正在运行程序的进程ID。在教程,我们将说明如何在Linux 使用pidof
    的头像 发表于 12-05 17:01 2319次阅读

    Linux命令行与shell脚本编写

    Linux命令行与shell脚本编写
    发表于 01-11 16:50 4次下载

    何在Linux命令行中格式化输出xml

    我们先前分享过一篇关于在命令行中格式化输出 json 文件的文章,今天我们再来分享一下如何在命令行中格式化输出 xml。
    的头像 发表于 01-12 17:37 1540次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b><b class='flag-5'>命令行</b>中格式化输出xml

    如何使用命令行Linux查找文件?

    对于Linux新用户来说,在Linux查找文件可能有点困难。但是,在适当的指导下,任何人都可以创建文件快捷方式或找到其Linux系统中有多少文件。 我们必须使用
    的头像 发表于 03-23 14:55 4237次阅读

    linux命令行与shell编程实战

    Linux命令行与Shell编程实战主要涉及以下内容: Linux命令行基础:学习Linux命令行
    的头像 发表于 11-08 10:57 762次阅读

    linux虚拟机怎么调出命令行

    Linux虚拟机调出命令行界面,可以通过以下步骤实现: 打开虚拟机,进入到Linux系统。 在桌面或应用菜单中找到终端或命令行图标,点击
    的头像 发表于 11-08 11:28 3097次阅读

    linux切换到命令行模式

    Linux,可以通过以下步骤切换到命令行模式: 打开终端。可以在应用菜单中找到终端或命令行终端。 在终端输入
    的头像 发表于 11-13 16:47 1772次阅读

    linux虚拟机怎么调出命令行

    Linux虚拟机是一种模拟运行Linux操作系统的虚拟环境,它可以在Windows、Mac、Linux等主机系统上运行。在
    的头像 发表于 11-17 09:55 3740次阅读

    linux命令行运行步骤

    运行Linux命令行涉及以下步骤: 打开终端 在Linux系统,打开命令行界面的方式有多种,最
    的头像 发表于 11-17 10:18 785次阅读

    pycharm命令行终端运行代码

    Python是一种非常流行的编程语言,许多开发者使用它来编写各种应用程序和脚本。为了方便开发者编写和测试代码,PyCharm是一种集成开发环境(IDE),它提供了许多功能和工具,其中包括命令行终端
    的头像 发表于 11-22 11:20 4872次阅读

    eclipse怎么使用命令行

    。JDK是运行Java程序所必需的环境,而Eclipse则是一个基于Java开发的IDE。在确保安装完毕后,我们可以通过以下步骤来在命令行
    的头像 发表于 12-06 11:26 2644次阅读