Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将带有char**argv的C函数输入转换为python?_Python_C - Fatal编程技术网

如何将带有char**argv的C函数输入转换为python?

如何将带有char**argv的C函数输入转换为python?,python,c,Python,C,我想用下面的函数将C代码转换为python代码,但我得到了错误 int main(int argc, char** argv) { int year, month, day; int jul; day = atoi(argv[1]); month = atoi(argv[2]); year = atoi(argv[3]); ... 当我为它编写python代码时,会出现以下错误: def main(argc, **argv): day = in

我想用下面的函数将C代码转换为python代码,但我得到了错误

int main(int argc, char** argv)
{
    int year, month, day;
    int jul;
    day = atoi(argv[1]);
    month = atoi(argv[2]);
    year = atoi(argv[3]);
...    
当我为它编写python代码时,会出现以下错误:

def main(argc, **argv):

day = int(argv[1])
month = int(argv[2])
year = int(argv[3])
试试这个:

from sys import argv

def main():
    day = int(argv[1])
    month = int(argv[2])
    year = int(argv[3])

if __name__ == '__main__':
    main()

作为将来的参考,您应该发布您得到的错误,而不仅仅是说您“得到了错误”。

Python代码的格式正确吗?当问关于错误的问题时,首先请向我们展示一个复制问题并始终包含错误的方法。因此,请创建一个来向我们显示,然后复制粘贴(作为文本)所示示例中完整和完整的错误输出。
**argv
采用类似于
dict
的映射。如果
argv
str
,您可能需要
*argv
或只需要
argv
。我们需要确切地了解您是如何调用
main
来提供帮助的,或者您所需要的只是一些?您在main中没有代码块,并且还没有定义
argv
您知道
C
中的
char**
是什么意思吗?从sys import argv导入
不是常见的样式。。。导入sys
,然后使用sys.argv。@JonClements要传统得多,虽然在这种情况下它不是很糟糕,是吗?它不是真正的名称空间污染或隐藏任何东西?@JonClements除了“普通”和“传统”之外,你还有其他来源或理由吗?我在这段代码中使用的
sys
模块的唯一组件是
argv
,所以我看不出只导入它有什么问题。@jarhill0确实。。。我倾向于只使用
sys.argv
快速而肮脏的脚本(最有可能是一次性脚本)。好吧,当人们在学习时,我倾向于发现最好引入更常见、更容易解释的实践,而不是短工。。。但无论如何。。。六个一个半打的另一个和所有的:)