Tag: sys

Python的sys.path从哪里初始化?

Python的sys.path从哪里初始化? UPD :Python在引用PYTHONPATH之前添加了一些path: >>> import sys >>> from pprint import pprint as p >>> p(sys.path) ['', 'C:\\Python25\\lib\\site-packages\\setuptools-0.6c9-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\orbited-0.7.8-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\morbid-0.8.6.1-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\demjson-1.4-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\stomper-0.2.2-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\uuid-1.30-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\stompservice-0.1.0-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\cherrypy-3.0.1-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\pyorbited-0.2.2-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\flup-1.0.1-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\wsgilog-0.1-py2.5.egg', 'c:\\testdir', 'C:\\Windows\\system32\\python25.zip', 'C:\\Python25\\DLLs', 'C:\\Python25\\lib', 'C:\\Python25\\lib\\plat-win', 'C:\\Python25\\lib\\lib-tk', 'C:\\Python25', 'C:\\Python25\\lib\\site-packages', 'C:\\Python25\\lib\\site-packages\\PIL', 'C:\\Python25\\lib\\site-packages\\win32', 'C:\\Python25\\lib\\site-packages\\win32\\lib', 'C:\\Python25\\lib\\site-packages\\Pythonwin'] 我的PYTHONPATH是: PYTHONPATH=c:\testdir 我想知道PYTHONPATH之前的路线是从哪里来的?

numpy数组的Python内存使用情况

我正在使用python来分析一些大的文件,我遇到了内存问题,所以我一直在使用sys.getsizeof()来尝试跟踪使用情况,但它与numpy数组的行为是离奇的。 下面是一个涉及我不得不打开的反照率地图的例子: >>> import numpy as np >>> import struct >>> from sys import getsizeof >>> f = open('Albedo_map.assoc', 'rb') >>> getsizeof(f) 144 >>> albedo = struct.unpack('%df' % (7200*3600), f.read(7200*3600*4)) >>> getsizeof(albedo) 207360056 >>> albedo = np.array(albedo).reshape(3600,7200) >>> getsizeof(albedo) 80 那么数据仍然存在,但对象的大小,一个3600×7200像素的地图,已经从〜200 Mb到80个字节。 我希望我的记忆问题已经结束,只是把所有的东西都转换成numpy数组,但是我觉得这种行为,如果是真的,会以某种方式违反信息论或热力学的某些规律,所以我倾向于认为getsizeof()不适用于numpy数组。 有任何想法吗?

在Python中从脚本捕获标准输出

假设有一个脚本正在做这样的事情: # module writer.py import sys def write(): sys.stdout.write("foobar") 现在假设我想捕获write函数的输出并将其存储在一个variables中作进一步处理。 天真的解决scheme是: # module mymodule.py from writer import write out = write() print out.upper() 但是这不起作用。 我想出了另一个解决scheme,它的工作原理,但请让我知道是否有更好的方法来解决这个问题。 谢谢 import sys from cStringIO import StringIO # setup the environment backup = sys.stdout # #### sys.stdout = StringIO() # capture output write() out = sys.stdout.getvalue() # release output # […]

使用sys.stdout.flush()方法

sys.stdout.flush()做什么的?

永久添加一个目录到PYTHONPATH

每当我使用sys.path.append ,新的目录将被添加。 但是,一旦我closurespython,列表将恢复到以前的(默认值?)值。 我如何永久地添加一个目录到PYTHONPATH?

为什么我们不应该在py脚本中使用sys.setdefaultencoding(“utf-8”)?

我已经看到在脚本的顶部使用这个脚本的几个py脚本。 在什么情况下应该使用它? import sys reload(sys) sys.setdefaultencoding("utf-8")