如何将带有char**argv的C函数输入转换为python?
我想用下面的函数将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
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
快速而肮脏的脚本(最有可能是一次性脚本)。好吧,当人们在学习时,我倾向于发现最好引入更常见、更容易解释的实践,而不是短工。。。但无论如何。。。六个一个半打的另一个和所有的:)