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

Python提示传入多个参数但实际仅传一个的问题排查

问题分析与解决

核心问题是脚本里的参数判断逻辑写反了:
你当前的代码判断if len(sys.argv) > 1:就打印用法提示并退出,但实际传入字体文件时,sys.argv的长度是2(索引0是脚本名,索引1是字体文件路径),刚好满足这个条件,所以触发了错误提示。

正确的逻辑应该是**当没有传入足够参数(即len(sys.argv) < 2)**时,才提示用法并退出。

修正后的脚本代码:

import os.path
import sys
from fontTools import ttLib
from fontmeta import FontMeta

if len(sys.argv) < 2:
    print("Usage: Only one argument required: [FONT]")
    exit(1)

fontfile = sys.argv[1]
meta_instance = FontMeta(fontfile)
metadata = meta_instance.get_full_data()

print(metadata)

关于Python 3.11.4的疑问:这个问题和Python版本无关,3.11.4没有改变sys.argv的行为,应该是你修改脚本时不小心把判断条件写反了,导致原本正常的逻辑出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 00:52:39