繁体   English   中英

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

[英]How can I run/call a python script while using swift?

我正在尝试制作一个iOS应用程序,该应用程序将根据用户的需要将pi计算为小数点后一组。 我目前有一个python脚本,它将从用户那里获取一个整数值,然后将其用于Pi的计算中。 我也有一个swift / Xcode项目,该项目仅允许用户输入一个整数值。 所以我想知道是否有一种方法可以传递用户从我的swift项目中的文本框中输入的值,然后将该值提供给python代码,运行它,然后输出结果? 在我的python代码中,我正在使用“计时器”来计算将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

但是我不确定如何将其重写为快速语言,因此我认为快速将精度值传递给python会更容易。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM