[英]Running python functions from terminal
我想弄清楚如何从我的作业文件中运行我的函数。 我打开终端,将目录更改为桌面(我的 hw1.py 文件所在的位置),启动 python,然后输入“import hw1”。 然后我输入 fizzbuzz(15) 并返回以下语句:
Traceback (most recent call last): File "<stdin>", line 1, in <module>
我试图运行的唯一功能是:
def fizzbuzz(n):
if (n % 3) == 0 and (n % 5) == 0:
return "FizzBuzz"
elif (n % 3) == 0:
return "Fizz"
elif (n % 5) == 0:
return "Buzz"
import hw1
然后使用hw1.fizzbuzz(15)
您还可以使用:
from hw1 import fizzbuzz
所以你将fizzbuzz
导入到你当前的命名空间中,然后可以使用fizzbuzz(15)
调用它。
import hw1
仅导入模块名称,而不是其中定义的所有函数,因此请使用my_module.my_function
或from my_module import my_function
语法。
尽管这个问题是关于在交互模式下从Python 解释器内的Python文件(作为模块)执行函数,但也可以使用单行(即不使用交互式解释器)运行函数或模块,如文档所述在命令行和环境中。 在其他人中:
当使用 -c 命令调用时,它执行作为命令给出的 Python 语句。 这里的命令可能包含多个由换行符分隔的语句。 前导空格在 Python 语句中很重要!
虽然字符串等的引号需要转义(取决于您的环境),但我可以使用 Python 3.8 在 Windows 10 上获得所需的输出:
python -c "import hw1; print(hw1.fizzbuzz(15))"
FizzBuzz
我不能简单地在 Windows CMD 上插入换行符,所以这可能仅限于简单语句:
一个简单的语句包含在单个逻辑行中。 几个简单的语句可能出现在由分号分隔的一行中。
方法一:
import hw1
hw1.fizzbuzz(15)
方法二:
from hw1 import fizzbuzz
fizzbuzz(15)
我包含这个答案是因为在相关搜索案例中,这个问题在谷歌中很高。 用例是执行 Python 脚本以在那里执行带有系统参数的函数。 带有货币兑换费用计算器的代码示例
# 2000 euro 26.6.2017
# python countCurrencyRate.py 18870.75 18908.76
# Output: Currency exchange expense: 0.00201220185227
#
# For https://money.stackexchange.com/a/20277/1627
import sys
a1 = float( sys.argv[1] )
b1 = float( sys.argv[2] )
def countCurrencyRate(a=a1, b=b1):
# a google currency rate, b destination currency rate; or reverse
ave = (a+b)/2
diff = abs(b-a)
result = diff/ave
print("Currency exchange expense: %s" % result)
if __name__ == "__main__":
countCurrencyRate(a1, b1)
蟒蛇:2.7.9
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.