gpt4 book ai didi

python - 从 stdin python 读取

转载 作者:行者123 更新时间:2023-12-01 04:44:01 27 4
gpt4 key购买 nike

我试图从第一个命令行参数中获取文件名输入,如果没有,则从 stdin 读取,但由于某种原因,我的 if 语句没有似乎正在工作。我已将其粘贴在下面。任何帮助将不胜感激。

import sys


filename=sys.argv[1]

if filename==None:
filename=sys.stdin.readlines()

最佳答案

您应该检查 sys.argv 的长度在尝试对其建立索引之前:

import sys
if len(sys.argv) > 1:
filename=sys.argv[1]
else:
filename=sys.stdin.readline().strip()

sys.argv 中的第一个元素始终是 python 脚本的文件名,因此 > 1 .

[编辑]

扩展fixxxer关于is的回答与 == :

is返回True如果比较的变量指向同一个对象。这适用于 None ,如None是一个单例。 ==另一方面,返回 True如果比较的变量相等,即它们可以指向两个不同(但相等)的对象和 ==将产生True .

关于python - 从 stdin python 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29888650/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com