【文件属性】:
文件名称:命令行参数-qt教学大纲
文件大小:5.26MB
文件格式:PDF
更新时间:2021-06-04 01:59:47
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 的测试程序: