小花思密达 发表于 2025-10-14 14:47:52

笨方法学python的13节,argv在terminal不执行,只回行,怎么回事

笨方法学python的13节,argv在terminal不执行,只回行,怎么回事

FishC 发表于 2025-10-14 14:49:01

你好!鱼油,关于《笨方法学Python》第13节中 argv 在终端不执行、只返回空行的问题,这通常是因为命令行参数没有正确传递或脚本代码有误。下面我来帮你一步步分析和解决。

可能的原因:

[*]你没有在终端中传递足够的参数给脚本。
[*]脚本代码可能没有正确打印 argv 的内容。
[*]运行方式错误,比如没有使用 python 命令。


解决方案:
1. 首先,检查你的脚本代码是否正确。第13节通常使用类似下面的代码:

from sys import argv

script, first, second, third = argv

print("The script is called:", script)
print("Your first variable is:", first)
print("Your second variable is:", second)
print("Your third variable is:", third)

如果代码中没有 print 语句,就不会输出任何内容,导致“只回行”(空行)。

2. 在终端中运行脚本时,必须传递参数。例如:
python ex13.py 参数1 参数2 参数3
注意:参数数量必须与代码中解包的变量数量匹配(这里需要3个参数)。如果只运行 python ex13.py 而没有参数,脚本会报错或输出空行。

3. 确保在正确的目录下运行脚本,并使用完整的 Python 命令(如 python3 如果系统需要)。

示例操作:
- 在终端中输入:
python ex13.py apple orange banana
- 如果一切正常,你会看到输出类似:

The script is called: ex13.py
Your first variable is: apple
Your second variable is: orange
Your third variable is: banana


如果问题依旧,请检查代码是否有拼写错误,或重新保存脚本后重试。希望这能帮到你!如果还有其他问题,欢迎继续问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小花思密达 发表于 2025-10-14 14:49:16

upup

FishC 发表于 2025-10-14 14:50:56

小花思密达 发表于 2025-10-14 14:49
upup

你好!鱼油,看到你回复“upup”,我猜你是想说问题已经解决了吧?如果还有其他关于Python或计算机的疑问,尽管继续问,我会尽力帮你解答!加油学习哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小花思密达 发表于 2025-10-14 14:51:50

FishC 发表于 2025-10-14 14:49
你好!鱼油,关于《笨方法学Python》第13节中 argv 在终端不执行、只返回空行的问题,这通常是因为命令行参 ...

复制您的代码,所以不存在拼写错误,依然只回行,不执行

FishC 发表于 2025-10-14 14:52:50

小花思密达 发表于 2025-10-14 14:51
FishC 发表于 2025-10-14 14:49
你好!鱼油,关于《 ...

你好!鱼油,如果复制代码后问题依旧,我们来一步步排查。可能的原因是你的终端没有正确传递参数,或者环境有问题。请按照以下步骤操作:

1. 首先,确保你在终端中运行脚本时传递了足够的参数。例如,你的脚本需要三个参数,所以命令应该像这样:
python ex13.py 参数1 参数2 参数3
如果只输入 python ex13.py 而没有参数,脚本会报错(但你可能没看到错误信息),导致“只回行”。

2. 为了调试,请修改你的代码,先只打印 argv 的内容。将代码改为:
from sys import argv
print("argv is:", argv)
然后运行脚本(带或不带参数),看看输出什么。如果输出是 argv is: ['ex13.py'](没有参数),说明参数没传对。

3. 检查你的 Python 环境:在终端输入 python --version 确认 Python 已安装。有些系统需要用 python3 命令。

4. 确保你在脚本所在目录运行命令。使用 cd 命令导航到正确目录。

如果以上步骤后还是空行,请回复你输入的具体命令和输出,我会继续帮你分析。加油!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小花思密达 发表于 2025-10-14 14:58:03

FishC 发表于 2025-10-14 14:52
你好!鱼油,如果复制代码后问题依旧,我们来一步步排查。可能的原因是你的终端没有正确传递参数,或者 ...

在终端输入 python --version也是回行,没有反应

FishC 发表于 2025-10-14 14:58:31

小花思密达 发表于 2025-10-14 14:58
FishC 发表于 2025-10-14 14:52
你好!鱼油,如果复 ...

你好!鱼油,看到你输入 `python --version` 也没有反应,只回行,这说明问题可能出在 Python 环境或终端配置上,而不是你的脚本代码。我们来一步步排查:

1. 首先,确认 Python 是否已安装:
   - 在终端中,尝试输入 `python3 --version`(有些系统默认使用 `python3` 命令)。
   - 如果还是没反应,可能 Python 没有正确安装或未添加到系统路径。

2. 检查系统路径:
   - 在终端输入 `echo $PATH`(Linux/Mac)或 `echo %PATH%`(Windows),查看输出中是否包含 Python 的安装路径。
   - 如果没有,你可能需要重新安装 Python 或手动添加路径。

3. 重新安装 Python:
   - 如果以上步骤都无效,建议从 Python 官网下载并重新安装最新版本。安装时务必勾选“Add Python to PATH”选项(Windows)或类似设置。

4. 测试简单 Python 代码:
   - 在终端中直接输入 `python` 或 `python3` 进入交互模式,然后输入 `print("Hello")` 看是否有输出。
   - 如果交互模式正常,说明 Python 工作,但命令行参数传递可能有问题。

如果问题依旧,请回复你的操作系统(如 Windows、Mac 或 Linux)和终端类型,我会提供更具体的帮助。别灰心,环境问题很常见,解决了就能继续学习!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小花思密达 发表于 2025-10-14 15:02:46

FishC 发表于 2025-10-14 14:58
你好!鱼油,看到你输入 `python --version` 也没有反应,只回行,这说明问题可能出在 Python 环境或终 ...

输入 `echo %PATH%`(Windows)
返回%PATH%(Windows)

FishC 发表于 2025-10-14 15:03:31

小花思密达 发表于 2025-10-14 15:02
FishC 发表于 2025-10-14 14:58
你好!鱼油,看到你 ...

你好!鱼油,看到你输入 `echo %PATH%` 返回了 `%PATH%`,这表示在 Windows 系统中,PATH 环境变量可能没有被正确识别或设置。这很可能是导致 Python 命令无反应的原因。我们来一步步解决:

1. 首先,确认你使用的终端类型:
   - 如果你在命令提示符(CMD)中输入 `echo %PATH%`,它应该显示 PATH 的内容。如果只返回 `%PATH%`,说明 PATH 变量可能未设置或损坏。
   - 如果你在 PowerShell 中,这个命令不会工作;请改用 `echo $env:PATH` 或直接输入 `$env:PATH` 来检查。

2. 检查 Python 安装:
   - 在终端中尝试输入 `py --version` 或 `python3 --version`,因为 Windows 有时使用 `py` 命令。
   - 如果都没反应,可能 Python 未安装或未添加到 PATH。建议从 Python 官网下载最新版本重新安装,安装时务必勾选 Add Python to PATH 选项。

3. 手动测试 Python:
   - 在终端输入 `py` 或 `python`,如果进入交互模式(显示 >>>),说明 Python 工作。然后输入 `print("Hello")` 测试,退出用 `exit()`。
   - 如果不行,重新安装 Python 后重启终端。

4. 如果 Python 安装成功,再回到 argv 问题:
   - 确保运行脚本时传递参数,例如:
py ex13.py apple orange banana
   - 如果还不行,修改代码为:
from sys import argv
print("argv:", argv)
然后运行看输出。

请先尝试这些步骤,如果问题依旧,请回复你的终端类型(CMD 或 PowerShell)和 Python 安装细节,我会继续帮你。别担心,环境问题很常见,解决了就能顺利学习!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小花思密达 发表于 2025-10-14 15:04:05

FishC 发表于 2025-10-14 14:58
你好!鱼油,看到你输入 `python --version` 也没有反应,只回行,这说明问题可能出在 Python 环境或终 ...

输入`python`
返回python` : 无法将“python`”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ `python`
+ ~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (python`:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

FishC 发表于 2025-10-14 15:04:47

小花思密达 发表于 2025-10-14 15:04
FishC 发表于 2025-10-14 14:58
你好!鱼油,看到你 ...

你好!鱼油,看到你输入 `python` 时返回的错误消息,这确认了问题:你的系统(Windows PowerShell)中没有正确安装 Python 或 Python 没有添加到环境变量 PATH 中。错误消息中的“无法识别”和“CommandNotFoundException”表明系统找不到 `python` 命令。

别担心,我们来一步步解决:

1. 首先,确认你是否安装了 Python:
   - 打开浏览器,访问 Python 官网(搜索“Python download”),下载最新版本的 Python(如 Python 3.x)。
   - 安装时,务必勾选“Add Python to PATH”选项(这很重要!),然后完成安装。

2. 安装后,重启终端(PowerShell),然后测试:
   - 输入 `python --version` 或 `py --version`(Windows 有时使用 `py` 命令)。
   - 如果显示版本号(如 Python 3.x.x),说明安装成功。

3. 如果还是不行,手动检查 PATH:
   - 在 PowerShell 中,输入 `$env:PATH` 查看 PATH 内容(这会显示所有路径,确认是否包含 Python 的安装目录)。
   - 如果没有 Python 路径,你可能需要重新安装并确保勾选“Add Python to PATH”。

4. 安装成功后,再测试你的脚本:
   - 使用命令如 `py ex13.py apple orange banana`(确保传递参数)。
   - 如果脚本运行正常,你会看到输出。

如果以上步骤后问题依旧,请回复你的 Python 安装过程(例如是否勾选了“Add Python to PATH”),我会继续帮你。环境设置是学习编程的常见障碍,解决了它,你就能顺利前进!加油!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小花思密达 发表于 2025-10-14 15:07:51

FishC 发表于 2025-10-14 15:04
你好!鱼油,看到你输入 `python` 时返回的错误消息,这确认了问题:你的系统(Windows PowerShell)中 ...

在powershell输入`py --version`
返回了unknown option --version`
usage: D:\软件安装包\PyCharm 2020.3.3\python.exe ... [-c cmd | -m mod | file | -] ...
Try `python -h' for more information.

FishC 发表于 2025-10-14 15:08:41

小花思密达 发表于 2025-10-14 15:07
FishC 发表于 2025-10-14 15:04
你好!鱼油,看到你 ...

你好!鱼油,看到你输入 `py --version` 返回的错误消息,这表示系统中有多个 Python 安装,并且 `py` 命令指向了 PyCharm 自带的 Python 解释器(路径是 `D:\软件安装包\PyCharm 2020.3.3\python.exe`),这个版本可能不支持标准参数(如 `--version`),导致错误。

别担心,这是常见问题,我们来一步步解决:

1. 首先,确认你是否从 Python 官网独立安装了 Python(而不是只依赖 PyCharm):
   - 如果没有,请访问 Python 官网(搜索 Python download),下载最新版本的 Python(如 Python 3.x)。
   - 安装时,务必勾选 Add Python to PATH 选项(这很重要!),然后完成安装。

2. 如果已经安装过 Python,但 PATH 环境变量被 PyCharm 覆盖了:
   - 在 PowerShell 中,输入 `$env:PATH` 查看当前 PATH。你应该会看到多个 Python 路径。
   - 我们需要确保系统优先使用独立安装的 Python,而不是 PyCharm 的。
   - 最简单的方法是重新安装 Python(从官网),并勾选 Add Python to PATH。安装后重启 PowerShell。

3. 安装成功后,测试命令:
   - 输入 `python --version` 或 `py --version`(如果 `py` 命令被修复)。
   - 如果显示版本号(如 Python 3.x.x),说明问题解决。

4. 然后,再测试你的脚本:
   - 使用命令如 `python ex13.py apple orange banana` 或 `py ex13.py apple orange banana`(确保传递参数)。
   - 如果一切正常,你会看到脚本输出。

如果问题依旧,请回复你是否已从官网安装 Python 并勾选了 Add Python to PATH。环境配置是学习编程的第一步,解决了它,你就能顺利前进!加油!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小花思密达 发表于 2025-10-14 15:13:53

FishC 发表于 2025-10-14 14:58
你好!鱼油,看到你输入 `python --version` 也没有反应,只回行,这说明问题可能出在 Python 环境或终 ...

在powershell输入了`echo %PATH%`
返回:%PATH%`

FishC 发表于 2025-10-14 15:14:39

小花思密达 发表于 2025-10-14 15:13
FishC 发表于 2025-10-14 14:58
你好!鱼油,看到你 ...

你好!鱼油,看到你在 PowerShell 中输入 `echo %PATH%` 返回了 `%PATH%`,这很正常,因为 `%PATH%` 是 Windows 命令提示符(CMD)的语法,在 PowerShell 中不适用。PowerShell 使用不同的命令来查看环境变量。别担心,我们来纠正并解决问题。

首先,在 PowerShell 中正确检查 PATH 环境变量:
- 输入命令:`$env:PATH`
- 这会显示所有路径,你可以检查是否包含 Python 的安装目录(例如类似 `C:\Python3x\` 的路径)。

如果 PATH 中没有 Python 路径,或者路径指向了 PyCharm(如之前错误所示),说明 Python 没有正确安装或配置。请按照以下步骤操作:

1. 从 Python 官网下载并安装 Python:
   - 访问 Python 官网(搜索 "Python download"),下载最新版本(如 Python 3.x)。
   - 安装时,务必勾选 "Add Python to PATH" 选项(这很关键!),然后完成安装。

2. 安装后,重启 PowerShell,并测试 Python:
   - 输入 `python --version` 或 `py --version`(如果显示版本号,如 Python 3.x.x,说明安装成功)。
   - 如果还不行,尝试 `python3 --version`。

3. 如果 PATH 问题依旧,手动检查:
   - 在 PowerShell 中输入 `$env:PATH`,查看输出中是否有 Python 路径。如果没有,重新安装 Python 并确保勾选 "Add Python to PATH"。

4. 安装成功后,再测试你的脚本:
   - 使用命令如 `python ex13.py apple orange banana`(确保传递参数)。
   - 如果脚本运行正常,你会看到输出。

如果以上步骤后问题依旧,请回复你安装 Python 的细节(例如是否勾选了 "Add Python to PATH"),我会继续帮你。环境配置是学习编程的常见挑战,解决了它,你就能顺利前进!加油!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

不二如是 发表于 2025-10-14 15:30:50

宝子确保在正确的目录下运行脚本。

如果ex13.py脚本不在当前工作目录中,你需要指定脚本的完整路径来运行它。


为了确认参数是否正确传递,你可以修改脚本,在执行时打印argv的内容:

from sys import argv
print(argv)
这样可以输出所有传递给脚本的参数,包括脚本本身的名称。

发过来看看~

小花思密达 发表于 2025-10-14 17:29:44

不二如是 发表于 2025-10-14 15:30
宝子确保在正确的目录下运行脚本。

如果ex13.py脚本不在当前工作目录中,你需要指定脚本的完整路径来运 ...

我把ex13.py里改成你给的代码,然后在terminal中写python ex13.py 还是只回车,没有任何反应,咋办呀大佬,求指教

不二如是 发表于 2025-10-14 18:06:12

小花思密达 发表于 2025-10-14 17:29
我把ex13.py里改成你给的代码,然后在terminal中写python ex13.py 还是只回车,没有任何反应,咋办呀大佬 ...

终端没反应,输入这两条指令看看:

where python
where py

小花思密达 发表于 2025-10-14 18:29:30

不二如是 发表于 2025-10-14 18:06
终端没反应,输入这两条指令看看:

大佬,这两行都没有反应,是不是需要重新安装anaconda?
页: [1] 2
查看完整版本: 笨方法学python的13节,argv在terminal不执行,只回行,怎么回事