要确保程序只从sys.stdin获取文件数据,可以使用以下方法:
import sys
if sys.stdin.isatty():
# 输入来自终端
filename = input("请输入文件名:")
with open(filename, 'r') as file:
data = file.read()
else:
# 输入不来自终端
data = sys.stdin.read()
import sys
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file', help='输入文件名')
args = parser.parse_args()
if args.file:
# 使用命令行参数指定了文件名
with open(args.file, 'r') as file:
data = file.read()
else:
# 没有指定文件名,直接从sys.stdin读取数据
data = sys.stdin.read()
这样可以通过命令行参数 -f
或 --file
来指定文件名,如果没有指定文件名,则程序会从sys.stdin读取数据。
以上是确保程序只从sys.stdin获取文件数据的两种方法。根据具体的使用场景和需求,选择适合的方法即可。
关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法给出相关链接。但腾讯云提供了丰富的云计算服务,可以通过访问腾讯云官方网站获取更多信息。
企业创新在线学堂
云+社区技术沙龙[第10期]
小程序云开发官方直播课(应用开发实战)
云+社区技术沙龙[第5期]
云+未来峰会
小程序云开发官方直播课(应用开发实战)
云+社区技术沙龙[第6期]
小程序·云开发官方直播课(数据库方向)
停课不停学 腾讯教育在行动第一期
小程序·云开发官方直播课(数据库方向)
云+社区技术沙龙[第17期]
领取专属 10元无门槛券
手把手带您无忧上云