文件名称:命令行参数-qt教学大纲
文件大小:5.26MB
文件格式:PDF
更新时间:2024-06-23 19:46:27
python 核心编程 中文版 高清文字版
9.5 标准文件 一般说来, 只要你的程序一执行, 那么你就可以访问三个标准文件. 它们分别是标准输入(一 般是键盘), 标准输出(到显示器的缓冲输出)和标准错误(到屏幕的非缓冲输出). (这里所说的"缓冲 "和"非缓冲"是指 open() 函数的第三个参数.) 这些文件沿用的是 C 语言中的命名, 分别为 stdin , stdout 和 stderr . 我们说"只要你的程序一执行就可以访问这三个标准文件", 意思是这 些文件已经被预先打开了, 只要知道它们的文件句柄就可以随时访问这些文件. Python 中可以通过 sys 模块来访问这些文件的句柄. 导入 sys 模块以后, 就可以使用 sys.stdin , sys.stdout 和 sys.stderr 访问. print 语句通常是输出到 sys.stdout ; 而内建 raw_input() 则通常从 sys.stdin 接受输入. 记得 sys.* 是文件, 所以你必须自己处理好换行符. 而 print 语句会自动在要输出的字符串 后加上换行符。 9.6 命令行参数 sys 模块通过 sys.argv 属性提供了对命令行参数的访问。 命令行参数是调用某个程序时除程 序名以外的其它参数. 这样命名是有历史原因的, 在一个基于文本的环境里(比如 UNIX 操作系统 的 shell 环境或者 DOS-shell ), 这些参数和程序的文件名一同被输入的. 但在 IDE 或者 GUI 环 境中可能就不会是这样了, 大多 IDE 环境都提供一个用来输入"命令行参数"的窗口; 这些参数 后会像命令行上执行那样被传递给程序. 熟悉 C 语言的读者可能会问了, "argc 哪去了?" argc 和 argv 分别代表参数个数(argument count)和参数向量(argument vector). argv 变量代表一个从命令行上输入的各个参数组成的字符 串数组; argc 变量代表输入的参数个数. 在 Python 中, argc 其实就是 sys.argv 列表的长度, 而该列表的第一项 sys.argv[0] 永远是程序的名称. 总结如下: sys.argv 是命令行参数的列表 len(sys.argv) 是命令行参数的个数(也就是 argc) 我们来创建这个名为 argv.py 的测试程序: