You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Python文件传递字符串并在终端显示,及解决终端交互时的Unicode编码错误问题

搞定你的两个Python命令行字符串处理需求

嘿,我来帮你解决这两个问题,顺便把你遇到的编码错误也搞定!

一、向Python脚本传递字符串并在终端显示

这个用Python的sys.argv就能轻松实现,它是专门用来获取命令行参数的列表。具体步骤如下:

  1. 写好你的main.py代码:
import sys

# 记得sys.argv[0]是脚本本身的文件名,所以第一个参数是sys.argv[1]
if len(sys.argv) > 1:
    # 获取传递的字符串
    passed_str = sys.argv[1]
    print(f"你传递的字符串是:{passed_str}")
else:
    print("提示:请在命令后跟上要传递的字符串哦!")
  1. 在终端运行脚本(以Windows PowerShell为例):
python .\main.py "Hello, Python!"

运行后终端就会显示你传入的字符串啦。

二、从终端获取字符串转小写显示(解决编码错误)

你遇到的UnicodeEncodeError是因为Windows终端默认的编码(比如你这里的cp1256)和Python标准输出的编码不匹配,导致某些字符无法正常输出。下面给你两种解决方案,同时实现转小写的功能:

方案1:在代码中指定输出编码

直接在脚本里把标准输出的编码设置为UTF-8,这样就能支持绝大多数字符:

import sys

# 重新配置标准输出为UTF-8编码
sys.stdout.reconfigure(encoding='utf-8')

if len(sys.argv) > 1:
    input_str = sys.argv[1]
    # 转换为小写
    lower_case_str = input_str.lower()
    print(f"转换为小写后的结果:{lower_case_str}")
else:
    print("请传入需要转换的字符串参数!")

方案2:修改终端的编码(无需改代码)

如果你不想调整代码,可以先在终端里切换编码为UTF-8,再运行脚本:

# 先执行这条命令切换终端编码为UTF-8
chcp 65001
# 再运行你的脚本
python .\main.py "Hi 测试一下"

测试你的示例

用修改后的代码运行你原来的命令:

python .\main.py "Hi"

会输出:转换为小写后的结果: hi,完全没问题~

内容的提问来源于stack exchange,提问作者miladjurablu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.01 02:02:50