首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python有argc参数吗?

Python有argc参数吗?
EN

Stack Overflow用户
提问于 2011-11-20 21:52:46
回答 4查看 111.7K关注 0票数 84

我用C和C++编写了相同的程序(打开文本文件和显示内容)。现在我用Python (在Linux机器上)做同样的事情。

在C程序中,我使用了以下代码:

代码语言:javascript
复制
if (argc != 2) {
    /* exit program */
}

问题:在Python中使用什么来检查参数的数量

代码语言:javascript
复制
#!/usr/bin/python
import sys
try:
    in_file = open(sys.argv[1], "r")
except:
    sys.exit("ERROR. Did you make a mistake in the spelling")
text = in_file.read()
print text
in_file.close()

当前输出:

代码语言:javascript
复制
./python names.txt = Displays text file (correct)
./python nam = error message: stated from the sys.ext line (correct)
./python = error message: stated from the sys.ext line (wrong: want it to be a
separate error message stating *no file name input*)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-20 21:54:54

在python中,list知道它的长度,所以您可以在argv中执行len(sys.argv)来获取元素的数量。

票数 132
EN

Stack Overflow用户

发布于 2011-11-20 21:58:49

我经常使用快速n脏技巧从命令行读取固定数量的参数:

代码语言:javascript
复制
[filename] = sys.argv[1:]

in_file = open(filename)   # Don't need the "r"

这会将一个参数赋值给filename,如果没有恰好一个参数,则会引发异常。

票数 18
EN

Stack Overflow用户

发布于 2011-11-20 22:37:55

最好使用argparse进行参数解析。

http://docs.python.org/dev/library/argparse.html

只是让它变得简单,不需要自己做繁重的工作。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8201955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档