命令行参数-移远bc95常见问题
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的测试程序:
5.96MB
文件大小:
评论区