我让一个用户在运行python3脚本时向命令行输入参数,我希望检查特定的参数是float、int、booleans还是string。我很熟悉使用int()函数将“car”这样的字符串转换为int时抛出的错误,也很熟悉使用try/except块尝试将字符串转换为int,如果失败,如何将错误消息映射到对用户有用的输出。我也看到了this前面的问题,这个问题可能会起作用。我只是想知道有没有什么新进展。你知道吗
不确定这是否可行,但正在查找可以这样操作的smart type()函数:
#!/usr/bin/env python3
import sys
smarttype(sys.argv[-1])
并且能够处理以下类型的输入:
./script.py 50
./script.py True
./script.py 50.0
./script.py run
和输出:
int
bool
float
str
我通常使用ast.literal_eval来解析“基本”数据类型:
但是,您需要一组引号来将某个内容标记为字符串(否则,每个输入都可以作为字符串):
如果要允许未指定的字符串,可以执行以下操作:
相关问题 更多 >
编程相关推荐