如何在使用swift时运行/调用python脚本?

2024-06-02 05:17:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试做一个iOS应用程序,它将根据用户的需要计算pi到一组小数位数。我现在有一个python脚本,它将从用户那里获得一个整数值,然后在计算Pi时使用它。我还有一个swift/Xcode项目,它只允许用户输入整数值。所以我想知道是否有一种方法可以将用户从swift项目中的文本框输入的值传递给python代码,运行它,然后输出结果?在python代码中,我使用“timer”来计算将pi计算到所请求的设置位数所需的时间。所以我只需要能够显示这个结果。在

我曾考虑过将python脚本重写为swift,但我不确定如何做到这一点。这是我在python脚本中用来计算pi的定义:

def pi():
decimal.getcontext().prec += 2
three = decimal.Decimal(3)
first, second, third, forth, fifth, sixth, numb = 0, three, 1, 0, 0, 24, 3 
while numb != first:
    first = numb
    third, forth = third + forth, forth + 8
    fifth, sixth = fifth + sixth, sixth + 32
    second = (second * third) / fifth
    numb += second
decimal.getcontext().prec -= 2
return +numb

但我不确定如何将其重写为swift语言,因此我认为让swift将精度值传递到python中会更容易。在


Tags: 项目代码用户脚本pifirstdecimalswift
1条回答
网友
1楼 · 发布于 2024-06-02 05:17:48

当然可以用Swift运行Python代码,因为Python被设计成嵌入的,并且有一个C接口API。检查Swift for TensorFlow如何使用Python互操作性(尽管我找不到一个只使用该模块而不是整个TensorFlow的快速方法)。您也可以签出PythonKit。在

但是我不认为重写脚本会太困难,最好在项目中避免更多的库和依赖项。在

编辑:正如Joakim Danielson所指出的,您需要Python运行时,而它似乎在iOS中不可用,因此您似乎仅限于macOS。在

相关问题 更多 >