010*_*amt 1 python raw-input argv
我知道在使用时argv我必须输入文件作为参数(例如:)python ex15.py ex15_sample.txt,使用时raw_input我输入文件名作为输入.
但我似乎无法找出为什么获取文件名的方法会比另一种更好.有人可以解释原因吗?
那是因为如果它不是关键功能,你通常应该避免交互式用户输入.在您的示例中:从stdin或命令行读取允许组合不同的程序并在脚本中运行它们等等.
想象一下,您执行了大量代码并坐在屏幕前等待输入请求到来.在命令行中指定所有相关信息并准备一杯咖啡不是更好吗?
你能做什么:
这为您的程序添加了一个很好的功能:您可以在命令行中指定文件名,也可以以交互方式输入文件名.
试试这个:
try:
fn = argv[1]
except IndexError:
fn = raw_input("filename > ")
Run Code Online (Sandbox Code Playgroud)