簡體   English   中英

在同一腳本中使用兩個單獨的python版本

[英]Use two separate versions of python in the same script

我有兩個代碼塊,我想合並為一個python腳本。 其中一塊代碼是用Python 2.7編寫的,另一塊是用Python 3.6編寫的

我的問題是,有什么方法可以調用舊版本的python mid腳本來運行該特定代碼塊?

例如,如果我運行以下代碼,該腳本將出錯,因為第二個print語句缺少括號:

#Running python 2 and 3!!

#Py 2
print "Python 2"

#Py 3
print "Python 3"

注意:可以轉換用2.7編寫的代碼塊,但這將花費很長時間。 我目前沒有的時間。

您可以使用subprocess模塊在與Python 3代碼不同的過程中調用Python 2代碼片段(反之亦然)。 僅當您不希望Python上下文受Python 2代碼段的副作用影響時,例如,將變量設置為2,然后3將無法使用,這才可行。

如果要在Python 3腳本中使用由Python 2代碼段創建的對象,則可以考慮使用pickle: 在Python 2.7中將對象序列化為本地文件然后從Python 3反序列化它們-請注意,在2和之間有一些更改3泡菜必須要處理(請參閱使用Python 3去除Python 2對象 )。

為了節省時間: 自動化Python 2到3代碼轉換

使用2to3為我創造了奇跡,並且非常容易處理:

$ 2to3 example.py

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM