如何在python中不使用"import"导入

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.

Axe*_*Der 6

你试图挑选数据吗?

在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