我在python中使用numpy数组,我正在尝试更好地将它们可视化以查看我正在使用的内容.当数组换行到下一行时有没有办法改变?例如,在终端窗口中,我有足够的列在一行上显示0-49,但是当我转换为数组数据类型时它会自动换行.
>>> tmp.shape
(2, 50)
>>> print tmp
[[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48 49]
[50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 …Run Code Online (Sandbox Code Playgroud) 我不能为我的生活弄清楚是什么导致了这个非常奇怪的错误.
我在spyder IDE中为Windows 7运行python 2.7中的脚本.它在一个点上使用datetime.datetime.strptime.我可以运行一次代码并且看起来很好(虽然我还没有完成调试,所以异常已经引发并且还没有正常完成),然后如果我再次尝试运行它,我得到以下内容(仅回溯结束)显示):
文件"C:\ path\to\test.py",第220行,在std_imp
self.data [key] .append(dt.datetime.strptime(string_var,string_format_var))
ImportError:导入_strptime失败,因为导入lockis被保留通过另一个线程.
我没有使用Threading等运行多个线程.让代码超越这一点的唯一方法是完全重启计算机.重启spyder将无法正常工作.网络搜索似乎没有产生任何其他人的线索或迹象.
有谁知道发生了什么?这是某种GIL问题吗?什么是导入锁,为什么一旦我尝试运行代码一次,它似乎阻止我导入datetime模块的这个方法?
我写了一个 python 脚本,并一直在使用 python2.6 在 Mac OS X 雪豹的终端中运行它。我使用 raw_input() 在几个地方导入文本,但我似乎达到了一个不再接受更多字符的限制。
这是 python raw_input() 的限制还是与终端或 Mac OSX 有关?
有没有更好的方法让用户在 python 中输入大量文本?
我正在使用 python 进行数据分析,并希望找到一种将类实例保存到文件的好方法,以便稍后可以重新加载它并保留其属性值。特别是,此类的实例将加载其他类实例的对象,然后进行需要一段时间才能完成的处理器密集型比较。
例如:
import pickle
class MyClass():
def __init__(self):
self.info = OtherClass(option=1)
def pickle(self):
f = file('test_file', 'wb')
pickle.dump(self, f, pickle.HIGHEST_PROTOCOL)
f.close()
def unpickle(self):
f = file('test_file', 'rb')
pickle.load(f)
f.close()
class OtherClass():
def __init__(self, option):
self.property = option * 2
mydata = MyClass(option=5)
mydata.pickle()
Run Code Online (Sandbox Code Playgroud)
然后导入此模块并运行 mydata.unpickle() 以取回 mydata(我还有一个选项,用于查找文件之前是否已被 pickle,如果有,则暂停 OtherClass 实例的计算和调用)。现在,如果我这样做,我可以加载 mydata,但它不再具有 mydata.info 对象。我的理解是这是pickle有意为之的一部分,但是有没有办法完全保存mydata以便我以后可以使用它?