问题标签 [python-3.3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 python 3 中处理多个字符集
我在 Windows 8 中使用 python 3.3.0。
如果网站有字符集,它会正常工作,utf-8
但如果它有iso-8859-1
或任何其他charset
. 意味着我可能有不同的网站网址和不同的字符集。那么,如何处理多个字符集呢?
现在让我告诉你我在尝试解决这个问题时所做的努力,例如:
它给了我一个错误,TypeError: Type str doesn't support the buffer API
所以,我假设它正在将 b1 视为字符串!这不是正确的方法!:(
请不要说手动更改源代码中的字符集或阅读 python 文档!我已经尝试将头投入到 python 3 文档中,但仍然没有运气,或者我可能没有选择正确的模块/内容来阅读!
python - 使用python从文件中编译和拆分字符串
如何从文件的选定行编译字符串,对字符串运行一些操作,然后将该字符串拆分回原始行到同一个文件中?
我只需要文件的某些行。我无法对文件的其他部分进行操作。我创建了一个类,将这些行与文件分开并在这些行上运行操作,但我认为在包含可用于这些操作的文件部分的单个字符串上运行这些操作会更快...
或者,如果我可以在整个字典上运行这些操作,那也会有所帮助。这些操作是字符串替换和正则表达式替换。
我正在使用 python 3.3
编辑:我将在这里更详细地解释这一点,因为我的原始帖子是如此含糊(感谢 Paolo 指出这一点)。
例如,如果我想修复一个 SubRipper(.srt 文件),它是一个常见的字幕文件,我会将这样的内容作为输入(这是来自一个实际的 srt 文件):
在这里你可以找到正确的例子,在这里提交文件内容会弄乱换行符: http: //pastebin.com/ZdWUpNZ2
...然后我只会修复那些具有实际字幕行的行,而不是那些排序号行或字幕文件的隐藏/显示行。所以我编译的字符串可能是:
“他们在那个山脊上。|他们把我们固定住了。”
然后我会对该字符串运行操作。然后我必须将这些行保存回文件。修复这些字幕行后,如何将它们恢复到原始文件中?我可以使用“|”拆分我编译和固定的字符串 作为行分隔符并将它们放回原始文件,但是我如何确定哪一行在哪里?
python - Python Pyglet 应用程序在 Windows Emacs 中不起作用
我无法让 emacs 评估我的缓冲区。我将它置于 python 模式并启动了解释器,但 Cc Cc 似乎没有做任何事情。我还尝试 Cc Cl 加载文件,但选择文件后没有任何反应。直接输入 python shell 确实有效。
我在 linux 中进行了尝试,一切正常,所以我知道我使用了正确的命令并且我的代码没有问题。
我在 Windows 7 上运行 GNU Emacs 24.2.1 和 Python 3.3。我是 emacs 的新手,到目前为止我很喜欢它,但除非我能让 shell 工作,否则我需要切换到不同的编辑器。
更新:我正在尝试运行使用 Pyglet 库开发的应用程序,该库创建自己的窗口来显示图形。
更新#2:因此,如果我尝试评估缓冲区,然后转到 python 缓冲区并停止编译,然后再次评估它,那么它就可以工作。这显然不理想。
也可能相关,除非我进入 shell 并按 enter,否则任何错误或异常都不会显示在 shell 中。
python - Python - 你如何检测到一个模块已被自定义加载器加载?
在 Python-3.3 之前,我检测到一个模块是由带有hasattr(mod, '__loader__')
. 在 Python-3.3 之后,所有模块都具有该__loader__
属性,无论是否由自定义加载器加载。
Python-2.7、3.2:
Python-3.3:
如何检测到模块是由自定义加载器加载的?
python - 为python3.3安装pip
我从Package Index > pip 1.2.1下载了 pip
然后我使用安装它
不过,当我尝试使用pip-3.3
终端时抱怨
但是,pip-2.7
工作得很好。
我也试过
但pip-3.3
仍然无法正常工作。
我该怎么做才能为 Python 3.3 安装 pip?
请注意,有一个相关线程How to install pip with Python 3? ,但答案只是“安装分发...然后使用它来安装 pip”这对我没有帮助,因为我已经尝试过但它没有用。
python - 为什么使用 pip 安装 numpy 会失败,而直接构建则不会?
我正在尝试numpy
在运行 Mac OS 10.7.5 (Lion) 并使用 Xcode 4.5.1 附带的编译器的 Python 3.3.0 下安装。我安装了 Python 3 并且gfortran
使用homebrew
没有任何问题,但是pip3 install numpy
失败了。在线查看其他建议,我尝试使用以下命令将 Clang 设置为 C 编译器:
但收到同样的错误。最后一行报告ValueError: underlying buffer has been detached
,我发布了完整的输出。
因此,我尝试使用SciPy.org 的说明直接从源代码构建。这似乎成功了;构建和安装过程一直运行到完成,尽管它们并不羞于报告警告。完整的日志再次作为 Gist 提供。然后我可以numpy.test('full')
从 Python 3 运行,虽然有一些关于我不理解的未关闭文件的警告,但它报告所有测试都通过了。
当我显然可以毫无问题地手动完成时,有谁知道为什么 pip 无法构建 NumPy?
python-3.3 - 实例化十进制类
我在十进制模块中发现了一个奇怪的行为。Decimal 类的“签名”是:
所以,我想我可以做类似的事情:Decimal('3', None)
. 但是这段代码在 python3.3 中引发了 TypeError 异常,但在 python2.7 中没有。
在我的调查中,我尝试使用 pdb: 进行调试pdb.set_trace("Decimal('3', None)")
,但什么也没发生!只要我键入s
相同的异常就会引发。
有人可以解释这些行为的原因吗?
python - 在python 3中将字符串与其他可迭代对象分开
我正在尝试确定函数参数是字符串还是其他可迭代的。具体来说,这用于构建 URL 参数,以尝试模拟 PHP 的¶m[]=val
数组语法 - 所以鸭式输入在这里并没有真正的帮助,我可以遍历字符串并生成类似的东西¶m[]=v¶m[]=a¶m[]=l
,但这显然不是我们想要的。如果参数值是一个字符串(或一个字节?我仍然不知道一个字节的实际意义是什么),它应该产生¶m=val
,但是如果参数值是(例如)一个列表,每个元素都应该接收它的拥有¶m[]=val
. 我在 2.* 中看到了很多关于如何做到这一点的解释isinstance(foo, basestring)
,但basestring
在 3.* 中不存在,我也读过isinstance(foo, str)
会错过更复杂的字符串(我认为是 unicode?)。那么,在不导致某些类型因不必要的错误而丢失的情况下,最好的方法是什么?
python - Python 接受 CPython 函数中的关键字参数?
我使用 python3.3 并发现它在它的一些CPython 函数中接受关键字参数:
但其他一些函数不接受关键字参数:
我的问题是:这些功能之间有什么区别?CPython 中哪些函数接受关键字参数,哪些函数不接受?当然——为什么?
python - 是否有任何资源可以让 Python 2.7 开发人员跟上 Python 3.3 的速度?
过去几年我一直在使用 python 2.7。我使用了很多与 Python 3 不兼容的库,我的总体感觉是它对我来说还不够稳定。
最近我听到很多人谈论 Python 3.3 有多好,我意识到也许我落后太久了。
那么,对于像我这样一直停留在 2.7 直到现在的人来说,要了解语法差异、新标准库功能和惯用代码的一般问题,主要资源是什么?
编辑:
正如@PhilH 所建议的那样,最好对使用 python 3.3 优于 2.7 的主要优点发表一些评论,以及关于可以在可读性、性能等方面产生差异的 python 3.3 功能的提示。