问题标签 [python-2to3]
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 - 使用 cmd 在 Python 中调用 2to3
我有一个用 Python 2.7 编写的 .py 文件文件夹,我想使用 2to3 工具将其转换为 Python 3。在 cmd 提示符下使用 windows 10,我可以使用以下命令转换单个文件:
但是,在 python shell 中,这一行在语法上并不正确,理想情况下,我希望能够遍历整个文件夹并使用 cmd 中的以下 python 代码更新所有 .py 文件:
它是我似乎无法正确理解的最后一行,所以我想我的问题是,如何在文件变量的每次迭代中调用 python 中的 2to3 函数?
python - duckduckgo 模块在 python 3.4.4 中不起作用
嗨,我从这里得到了以下模块
此代码似乎在 python 2.7 中正常工作,但在 3.4 中我收到以下错误:
我尝试使用 2to3 但它给了我以下代码也不起作用:
只是让您知道,当我运行查询函数时,第二个代码片段给了我以下错误:
那么谁能告诉我我在这里做错了什么?
提前致谢!
python - 解决 Python/IPython 中的 TypeError
我在使用以下功能时遇到问题
此函数返回错误:
类型错误:>> 不支持的操作数类型:'float' 和 'int'
注意:这个 python 库仅在 2.7 中受支持,我使用 2to3 来使用它。图书馆的其他部分按需要工作,所以我通常相信 2to3 工作。
我正在尝试在 IPython 3.5 中运行它,我听说像这样的一些错误可能会在 IPython 中专门发生,所以我想知道它是否与此有关。
python - Python 2to3 警告这是什么意思?
我正在使用 2to3 转换脚本。我得到的唯一警告是:
原始脚本的第 716 行是:
我不知道我应该在哪里使用operator.mul(None)
. repeat()
(链接到文档)的参考文档表明我可以None
毫无问题地通过。那么,我该怎么办?
windows - BeautifulSoup4在Windows7上python3.5无法安装
我已经从https://www.crummy.com/software/BeautifulSoup/bs4/download/4.5/下载了 beautifulsoup4-4.5.3.tar.gz并将其解压缩到我的 python 工作目录(这不是我的 python 安装目录) .
但是,当我跑步时
在我的 IDLE 中弹出错误消息:
我尝试了这些方法,但上面的错误消息不断弹出
- 在我的 IDLE 中打开 setup.py 并运行它(
=== RESTART: D:\python\beautifulsoup4-4.5.3\beautifulsoup4-4.5.3\setup.py ===
在 IDLE 窗口中提供,但from bs4 import BeautifulSoup
没有工作) - 使用cmd进入D:\python\beautifulsoup4-4.5.3\beautifulsoup4-4.5.3,运行
pip uninstall beautifulsoup4
然后运行pip install beautifulsoup4
;说明我已经成功在cmd行安装beautifulsoup4-4.5.3,但是IDLE中仍然出现错误消息后from bs4 import BeautifulSoup
- 使用cmd进入D:\python\beautifulsoup4-4.5.3\beautifulsoup4-4.5.3,运行
pip3 uninstall beautifulsoup4
然后运行pip3 install beautifulsoup4
;和上面一样没用 - 运行
pip install bs4 --ignore-installed
,如上无用 - 运行
setup.py install
,如上无用 2to3 -w bs4
在 D:\python\beautifulsoup4-4.5.3\beautifulsoup4-4.5.3 下的 cmd 行中运行,返回'2to3' is not recognized as an internal or external command,operable program or batch file.
我应该怎么办?
另外,pip show bs4
给了这个
在我的 C:\Users\myname\AppData\Local\Programs\Python\Python35-32\Lib\site-packages 目录下,可以看到三个 beautifulsoup 相关目录:beautifulsoup4-4.5.3.dist-info、bs4 和 bs4- 0.0.1-py3.5.egg-info,但from bs4 import BeautifulSoup
不断抛出错误信息
python - Python打开编码失败
我有一个使用 Python 2.7 在 Windows 机器(Win 7)上记录数据的脚本。我想使用 Python 3.5 在我的 RHEL 机器上读取这些文件。我不断收到以下错误(或类似错误):
UnicodeDecodeError:“ascii”编解码器无法解码位置 825929 中的字节 0xe6:序数不在范围内(128)
更糟糕的是,数据以 hex/ascii 格式传入计算机(我不知道制造商为什么这样做),因此整数 27035 在文本文件中显示为 0x699b。所以数据看起来像这样:
0001100011000190001600011000110001300013000120001200013000140001a0002
两个在 Python 2.7 中编写数据我只是这样做:
在我的办公室计算机上使用 2.7 时,我在阅读这些文件时没有问题,但在切换到 3.5 后,我就可以了。
这曾经在 2.7 下工作:
在 3.5 下使用相同的脚本导致错误(如上),所以我定义了编码:
这在大多数情况下都有效(奇怪,因为 Python 2.7 下的“open”应该默认为 encoding='ascii'...注意:将编码定义为“ascii”仍然会导致错误),我至少可以通过这种方式读取文件. 现在的问题是,并非所有行都包含相同数量的字符(它们应该!)。很少有一行缺少一两个字符。我通过以下方式找到较短的行:
在这些行中,我发现了奇怪的字符,例如:
其中 \221 和 \231 显示为单个字符(即不是您期望的四个)。
我想我的问题是:这里发生了什么?我可以丢弃没有足够字符的行(这将少于数据的 1%),但这让我很恼火,这不起作用。
这是由于数据首先转换为十六进制,然后写入 ascii 编码,然后通过 latin-1 解码(这是很多事情)引起的。如果是这样,那为什么我不能通过指定 ascii 编码来解码数据呢?
编辑 我以不同的方式加载数据:
数据保持不变,但错误翻译的部分发生了变化:
“f”和“ffe7700”之间的任何东西都不起作用。
python - 如何修复我的包中的“.dist-info directory not found”?
我有一个 Python 2 包,我正在尝试升级到 Python 3。它是由曾经在我现在所在的同一个团队工作但不再与公司合作的人编写的,不幸的是没有人离开团队能够提供帮助。
在对包的文件运行2to3之后,我跑来python setup.py sdist
创建一个包,将包放在本地存储库中,然后尝试使用pip install
安装包。它最终出现以下错误:
该软件包的旧 Python 2 版本在 .tgz 存档中没有调用任何内容.dist-info
,并且安装得很好。有谁知道这里发生了什么以及如何解决它?
python-2to3 - 2to3 错误:元组索引超出范围,fix_raise
我发现对我来说看起来像是未经测试的案例。尝试使用 2to3 转换以下代码时:
执行不正常地停止,没有说明原因,也没有说明是什么文件导致了问题,如果您尝试转换整个 python 2 脚本文件夹,这将非常烦人。抛出以下内容:
我期待获得一个BadInput异常。显然,鉴于上面的源代码,它是预期的raise("something")
,并且由于没有检查元组中的“孩子”raise ()
是否存在,这会导致错误。
如果我错了,请纠正我,当然raise()
是不正确的,但这不应该使执行崩溃,同样如下:
抛出BadInput异常,并清楚地表明发生了什么。
python - pyserial Python2/3 字符串头痛
我正在使用 pyserial 与一些使用 Modbus 协议的传感器进行通信。在 Python 2.7 中,这非常有效:
在 Python 3 中,这不起作用。我知道这与 Python 2/3 处理二进制字符串与 unicode 字符串的方式不同有关。我发现许多其他线程建议解决方案应该是简单地b
在我的消息 ( msg=b""\xFE\x44\x00\x08\x02\x9F\x25"
) 上添加一个以将其指定为二进制字符串,但这不适用于我的情况。
有什么见解吗?我应该在 Python 3 中发送什么以便传感器接收到相同的信号?我已经无计可施了...
我应该补充一点,我对串行连接完全陌生(嗯...... 1 周大),并且(尽管阅读了很多)我很难理解不同的字符/字符串格式......因此上面的评论中有问号。请适当地提出答案:)。
提前致谢!
python - 自动 Python 翻译 2to3 错误
我想将 Python2 代码翻译成 Python 3。这很简单,但它不起作用
我在终端得到了这个
为什么?