gpt4 book ai didi

python - 在命令行中运行 python 函数

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:48 26 4
gpt4 key购买 nike

我是 Python 初学者,我在命令行中运行我的函数时遇到问题,通过 IDLE 它可以正常工作,但我需要在命令行中运行它,因为我必须从中生成可执行文件...

所以我的问题......我有这个

文件名test.py
class A

def myFunction(a,b)
print a,b

myFunction 调用 Class,从 IDLE 中编写 myfunction(a,b) 就足够了,但是从命令行我不知道该做什么

我的目标是

使用命令从命令行运行函数:name_of_the_file arg1 arg2 --> test a b

我看了我想的所有地方并尝试了一切,我发现最常见的是将这个命令添加到我的函数中

if __name__ == '__main__':
a = sys.argv[0]
b = sys.argv[1]
myFunction(a,b)

原来如此

class A:
some process which calls myFunction
def myFunction(a,b)
print a,b
if __name__ == '__main__':
a = sys.argv[0]
b = sys.argv[1]
myFunction(a,b)

然后我用 test a b 从命令行调用它,但我只得到错误

我使用 Python 2.7

谢谢你的帮助

最佳答案

您的代码存在一些问题:

  1. Python 区分大小写。关键字是 class,而不是 Class
  2. class A 行之后必须有一个冒号:class A:
  3. 如果函数 myFunction 应该是 class A 的一部分,则必须缩进:

    class A:
    def myFunction(a,b)
  4. 类的方法应该有 self 作为第一个参数:def myFunction(self, a, b)

  5. def myFunction(self, a,b) 之后必须有一个冒号:def myFunction(self, a,b):
  6. 您的函数后面必须至少有一行缩进代码。如果它什么都不做,你可以使用关键字 `pass:

    def myFunction(self, a,b):
    pass
  7. 如果你想使用sys.argv,你首先必须在代码的开头使用import sys导入sys .

  8. myFunction 是类的一部分,您首先必须实例化它才能使用函数:

    Av = A()
    Av.myFunction(a,b)
  9. 第一个命令行参数是 sys.argv 的第二个条目,而不是第一个。

但是在我看来你还是不想上课,所以就写:

def myFunction(a,b):
pass

if __name__ == '__main__':
a = sys.argv[1]
b = sys.argv[2]
myFunction(a,b)

您还可以使用 python file.py arg1 arg2 调用 python 脚本。如果你想在开头省略 python 那么你可以(在类 unix 系统中)在 python 文件的第一行添加一个 shebang:#!/usr/bin/env python 。然后只要设置执行标志 chmod +x file.py 就可以像 ./file.py arg1 arg2 一样调用。

关于python - 在命令行中运行 python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com