如何在命令行中执行 Python 脚本

说白了,从命令行运行Python脚本分为三个步骤:验证环境、准备文件、运行命令。
但在实际操作中,也有一些陷阱需要警惕。

首先我们来说说最重要的一点:环境变量必须成对出现。
去年我们运行那个项目时,团队直接报错“Python不是内部命令”。
我注意到安装Python时没有选中“将Python添加到PATH”。
简而言之,系统不知道在哪里可以找到口译员。
另一件要记住的事情是您需要密切注意文件编码。
例如,macOS默认为utf-8 ,但Windows用户在保存时很容易将其更改为gbk,直接传递中文参数会出现问题。
还有另一个重要的细节。
传递参数时,请记住sys.argv[0]始终是脚本名称,实际参数从1 开始计数。

一开始我认为使用绝对路径最安全,但后来发现我错了。
如果您的脚本文件在目录中嵌套的深度超过三层,则写入不正确绝对路径的可能性就会加倍。
说实话,我很困惑。

最后,我想提醒您一个简单的陷阱。
如果您的系统上同时安装了 Python 2 和 3 ,“python script.py”将默认调用 2 ,您应该使用“python3 script.py”。
尽管虚拟环境不是默认行为,但在项目实际启动后必须使用它们,否则如果库版本冲突,可能会造成混乱。

运行 Python 脚本/代码的几种方式

记得有一次,在一个小公司项目中,我要用Python写一个简单的爬虫来爬取网站数据。
写完代码后,我直接在命令行中输入“python my_spider.py”并按回车键。
结果,屏幕上什么也没有显示。
我以为剧本有问题。

等一下,我还记得当时是下午三点。
我检查了脚本,发现我忘记写打印语句了。
我快速添加了一条打印行(“捕获成功!”)并再次运行脚本。

结果出现“捕获成功!”的字样。
出现在屏幕上并且数据被捕获。
我松了一口气。
但这也让我意识到,有时简单的错误也会带来意想不到的后果。

linux怎么运行python文件

哎呀,让我告诉你我在 Linux 上运行 Python 的经历。

记得有一次在上海,公司新来的小伙子连Linux都不懂,就让我帮他跑一个Python脚本。
该脚本被放置在桌面上。
他直接在终端输入python3 script.py,却报错,说找不到该文件。
我一看,他连路径都没有改,还是在根目录下。
在 Linux 中,无论文件在哪里,你都可以获取它们,而不能只是指向。

后来我教他一定要先cd到脚本文件夹,比如cd ~/Desktop,然后运行。
这小子学不会,就跑回来说:“你傻吗?” 脚本在桌面上,所以你必须先去桌面。

还有一次,当我在北京时,我有一个脚本必须重复运行。
每次输入一长串命令太麻烦了。
我教他使用 python3 -m 脚本。
这好多了。
它只是不带 .py 后缀的脚本名称。
他尝试了一下,确实有效,让事情变得容易多了。

但是,这个方法并不是万能的。
有些脚本使用系统环境变量,使用 -m 可能会导致问题。
我记得有一次我掉进过陷阱。
第三方库必须在主程序中运行,使用-m不起作用。
我急得满头大汗,但最后只是写下来就跑了。

哦,顺便说一句,还有一件事。
有一个哥们坚持让脚本可执行,每天都输入./script.py。
我说,你为什么要这样做? 既慢又麻烦。
你不能只使用python3 script.py吗? 他坚持这样可以节约用电。
我想知道,你的电脑是用太阳能充电的吗? 后来我就懒得跟他争论了。
反正他想怎么跑就怎么跑。

最后,关于输出重定向,我经常使用它。
例如,在脚本运行一堆日志后,我需要查找其中的错误,我使用 python3 script.py | grep“错误”。
这样你就可以直接筛选,省去一一查看的麻烦。
这个技巧非常容易使用并且非常有效。

你问我Python安装在哪里? 哦,是的,很多年前在深圳,新机器连Python都没有,所以我用了sudo apt-get update,然后安装了sudo apt-get install python3 当时我就假装慢吞吞的,只好等待。
现在好多了,一搜就能找到。

总之,在Linux上运行Python时,首先要找到该文件,不要盲目运行。
最好使用脚本名称中不带 .py 的 -m 选项,但这取决于具体情况。
可执行文件? 除非你每天都使用它,否则没有必要。
输出重定向? 常用,省事。
就是这样。