如何通过Python文件在控制台中运行功能?

时间:2014-07-19 07:30:58

标签: python ubuntu parameters

我在Python文件中创建了这个函数:

def abc (xyz):
    return xyz

我将文件保存在/var/www/中,文件名为a.py

现在我想在Ubuntu控制台中运行此函数并将参数传递给此函数。我怎样才能做到这一点?我试过这个:

jaskaran@jaskaran-Vostro-1550:/var/www$ python3 a.py

这并没有向我显示任何错误。如何调用该函数并能够在控制台中查看输出?

4 个答案:

答案 0 :(得分:2)

脚本正在运行,它只是定义了函数,它不执行它。您需要从Python脚本中调用该函数。通常这样做是这样的:

def abc(xyz):
    print(xyz)

if __name__ == "__main__":
    abc(123)

您可以将命令行参数传递给abc(),如下所示:

import sys

def abc(xyz):
    print(xyz)

if __name__ == "__main__":
    abc(sys.argv[1])

然后您可以从shell命令行运行它:

$ python script.py 123546
123456

如您所见,命令行参数“123456”已从sys.argv列表传递给abc(),该列表表示传递给脚本的参数(sys.argv [0]是脚本名称)。

答案 1 :(得分:1)

首先,如果你想运行方法abc

你需要知道许多事情main()程序的执行从python中的main()开始

 def abc(xyz):
       return xyz
 if __name__ == "__main__":
      abc("sundar")

传递如下所示的参数,您需要使用sys.argv

$python a.py "sundar"

import sys
def abc(xyz):
    return xyz
if __name__ == "__main__":
    print abc(sys.argv[1])

#output sundar

Python sys模块通过sys.argv提供对任何命令行参数的访问。 sys.argv是命令行参数列表,这里sys.argv[0]是程序ie。脚本名称。

答案 2 :(得分:0)

尝试使用以下内容:

def abc(xyz):
    print(xyz)

if __name__ == "__main__":
    abc(input("Enter something: "))

这将在控制台中输入您输入的内容! ;)

我希望这有帮助

答案 3 :(得分:0)

$ python     
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

>>> from a import abc
>>> abc(123)
123
>>>