例如: 执行程序后我的命令行必须是这样的:
perfect(44) #using the defined function in the output screen.(44) or any other number
,输出应为:
false
这是我尝试过的代码,但在此我无法在命令行中使用该函数。
def factors(n):
factorlist = []
for i in range(1,n):
if n%i == 0:
factorlist = factorlist + [i]
print factorlist
return factorlist
def perfect(n):
factorlist = factors(n)
if sum(factorlist) == n:
return True
else :
return False
n = int(raw_input())
print(perfect(n))
答案 0 :(得分:4)
转到您有.py
文件的路径。通过以下命令以交互模式启动python解释器:
python -i filename.py
通过这样做,您应该能够访问filename.py
文件中的所有功能。
答案 1 :(得分:1)
您可以将以下行附加到python脚本,以便在加载脚本时调用函数。
if __name__ == '__main__':
print(perfect(int(sys.argv[1])))
然后您可以将其称为:
python myscript.py 44
答案 2 :(得分:0)
首先转到文件目录并从命令行运行命令。
python -c "import modulename"
此处modulename
是您的file_name.py
答案 3 :(得分:0)
如果您愿意使用第三方套餐,请查看Google's Fire。
pip install fire
修改您的代码,如下所示:
#!/usr/bin/env python
from fire import Fire
def factors(n):
factorlist = []
for i in range(1,n):
if n%i == 0:
factorlist = factorlist + [i]
print factorlist
return factorlist
def perfect(n):
factorlist = factors(n)
if sum(factorlist) == n:
return True
else :
return False
# n = int(raw_input())
# print(perfect(n))
if __name__ == '__main__':
Fire(perfect)
如果在Mac或Linux上,请确保您的文件是可执行的(抱歉,不知道您是否必须在Windows上执行此操作)。假设您的代码位于名为perfect
的文件中:
chmod +x perfect
如果文件在您的路径中,您现在应该可以这样调用它:
$ perfect 44
[1, 2, 4, 11, 22]
False