Skip to main content
 首页 » 编程设计

python之argv 与 raw_input

2025年05月04日12wayfarer

我知道在使用 argv 时我必须输入文件作为参数(例如:python ex15.py ex15_sample.txt)并且在使用 raw_input 时 我输入文件名作为输入。

但我似乎无法找出为什么一种获取文件名的方法会比另一种更好。谁能解释一下为什么?

请您参考如下方法:

那是因为如果交互式用户输入不是关键功能,您通常应该避免它。在您的示例中:从 stdin 或命令行读取允许组合不同的程序并在脚本等中运行它们。

假设您执行了很多代码并坐在屏幕前等待输入请求的到来。在命令行上指定所有相关信息并去准备一杯咖啡不是更好吗?

你可以做什么:

  • 检查 len(argv) > 1
  • 如果是,使用argv[1]作为文件名
  • 如果没有,请询​​问用户。

这为您的程序添加了一个很好的功能:您可以在命令行上指定文件名或以交互模式输入它。

试试这个:

try: 
    fn = argv[1] 
 
except IndexError: 
    fn = raw_input("filename > ")