Nik*_*lai 1 python subprocess module python-2.x python-3.x
这个问题的背景是我正在尝试编写一个程序来协助分析数据.它应该用python3编写,但是它的数据类型通常以python无法读取的格式存储.有一个包来读取这些数据,但它只与python2兼容.为了读取数据,我因此想要编写一个python2脚本来读取文件并将其转换为numpy数组.我想在我的python3程序中阅读.(有问题的包装是axographio 1).
一般来说,我想要的是:
给出一个(python2)脚本
#reading.py
import numpy
x = numpy.random.random(size=10000)
Run Code Online (Sandbox Code Playgroud)
运行一个可以某种方式得到x的(python3)
#analyze.py
import matplotlib.pyplot as plt
#fancyfunction that gets x from reading.py
plt.plot(x)
plt.show()
Run Code Online (Sandbox Code Playgroud)
这里重要的是read.py由python2解释器执行,因为它不能用于python3.
你试图挑选数据吗?
在python 2中
import pickle
pickle.dumps(x)
Run Code Online (Sandbox Code Playgroud)
在python 3中
import pickle
pickle.load(x)
Run Code Online (Sandbox Code Playgroud)
如果我没记错的话,更好的方法是将你的numpy数组保存在python 2中的json文件中(可能使用panda over numpy),并在python 3中执行相反的操作
像这样的东西:
df = pandas.Data[...]
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参见http://www.thegeeklegacy.com/t/how-to-import-without-using-import-in-python/35/#post-103