簡體   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