我想创build一个需要多行用户input的Python程序。 例如: This is a multilined input. It has multiple sentences. Each sentence is on a newline. 我怎样才能接受多行的原始input?
是否有可能临时redirectstdout / stderr在Python(即在一个方法的持续时间)? 编辑: 目前的解决scheme(我最初记住但忘记了)的问题是,他们不redirect ; 相反,他们只是完全取代了stream。 因此,如果一个方法由于某种原因(例如,因为stream被作为parameter passing给某个对象)而具有一个variables的本地副本 ,则它将不起作用。 任何解决scheme
在Python 2中设置默认的输出编码是一个众所周知的习惯用法: sys.stdout = codecs.getwriter("utf-8")(sys.stdout) 这将sys.stdout对象包装在编码输出为UTF-8的编解码器sys.stdout器中。 但是,这种技术在Python 3中不起作用,因为sys.stdout.write()需要一个str ,但是编码的结果是bytes ,而当codecs试图将编码的字节写入原始的sys.stdout时会发生错误。 什么是在Python 3中做到这一点的正确方法?
我正在为嵌套matplotlib(MPL)库,它不同于MPL自己提供的,由感兴趣的子模块包的文档(个人)。 我正在编写Python脚本,我希望能够从未来的MPL版本自动生成文档。 我select了感兴趣的子模块/包,并想列出他们的主要类,我将生成列表并使用pydoc 问题是,我找不到一种方法来指示Python从string中加载子模块。 这是我尝试的例子: import matplotlib.text as text x = dir(text) 。 i = __import__('matplotlib.text') y = dir(i) 。 j = __import__('matplotlib') z = dir(j) 这里是通过pprint的以上列表的三路比较: 我不明白在y对象中加载了什么东西 – 它是matplotlib加上其他东西,但它缺less我想要的信息,这是matplotlib.text包中的主要类。 这是截图( x列表)上顶部的蓝色部分 请不要build议狮身人面像不同的方法。
我试图读pandas大csv文件(aprox。6 GB),我得到以下内存错误: MemoryError Traceback (most recent call last) <ipython-input-58-67a72687871b> in <module>() —-> 1 data=pd.read_csv('aphro.csv',sep=';') C:\Python27\lib\site-packages\pandas\io\parsers.pyc in parser_f(filepath_or_buffer, sep, dialect, compression, doublequote, escapechar, quotechar, quoting, skipinitialspace, lineterminator, header, index_col, names, prefix, skiprows, skipfooter, skip_footer, na_values, na_fvalues, true_values, false_values, delimiter, converters, dtype, usecols, engine, delim_whitespace, as_recarray, na_filter, compact_ints, use_unsigned, low_memory, buffer_lines, warn_bad_lines, error_bad_lines, keep_default_na, thousands, comment, decimal, […]
首先,我将Windows CMD编码更改为utf-8并运行Python解释器: chcp 65001 python 然后我尝试打印一个unicode sting里面,当我这样做Python以一种奇怪的方式崩溃(我只是在同一个窗口中得到一个cmd提示符)。 >>> import sys >>> print u'ëèæîð'.encode(sys.stdin.encoding) 任何想法,为什么发生,如何使其工作? UPD : sys.stdin.encoding返回'cp65001' UPD2 :在我看来,这个问题可能与utf-8使用多字节字符集有关 (kcwu在这方面做了一个很好的说明)。 我试着用“windows-1250”来运行整个例子,并得到了“ëeaî?”。 Windows-1250使用单字符集,因此它适用于那些理解的字符。 但是我仍然不知道如何使'utf-8'在这里工作。 UPD3 :哦,我发现这是一个已知的Python错误 。 我猜会发生什么是Python将cmd编码复制为“cp65001”转换为“sys.stdin.encoding”,并尝试将其应用于所有input。 由于它不能理解“cp65001”,它会在任何包含非ASCII字符的input上崩溃。
我必须在Python中find一个列表的平均值。 这是我的代码到目前为止 l = [15, 18, 2, 36, 12, 78, 5, 6, 9] print reduce(lambda x, y: x + y, l) 我已经知道了,所以它将列表中的值加起来,但是我不知道如何将它们分成两部分呢?
我想在regex使用一个variable ,我怎样才能在Python实现这一点? TEXTO = sys.argv[1] if re.search(r"\b(?=\w)TEXTO\b(?!\w)", subject, re.IGNORECASE): # Successful match else: # Match attempt failed
我有一个Python的datetime对象,我想转换为UNIX时间,或自1970年以来的秒/毫秒。 我如何做到这一点?
有没有办法让Python程序来确定它目前正在使用多less内存? 我已经看到关于单个对象的内存使用情况的讨论,但我需要的是该进程的总内存使用情况,以便我可以确定何时需要开始丢弃caching的数据。