问题标签 [python-3.x]

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.

0 投票
3 回答
1510 浏览

python - 风暴 Python 3 兼容吗?

我还没有找到有关该主题的任何信息,其主页也没有提及。

0 投票
2 回答
749 浏览

python-3.x - python3.0:imputils

为什么从 python3.0 中删除 imputil 模块以及应该使用什么来代替它?

0 投票
1 回答
3427 浏览

python-3.x - PEP 302 示例:新的导入挂钩

在哪里可以找到PEP 302中描述的“新导入挂钩”的示例实现?

我想以最前向兼容的方式实现自定义查找器和加载器。换句话说,实现应该在 python 2.x 和 3.x 中工作。

0 投票
7 回答
163742 浏览

python - 重新加载模块给出 NameError: name 'reload' is not defined

我正在尝试重新加载我已经在 Python 3 中导入的模块。我知道您只需要导入一次并且import再次执行该命令不会做任何事情。

执行reload(foo)给出了这个错误:

错误是什么意思?

0 投票
3 回答
3661 浏览

unicode - Python 3 不读取新服务器上的 unicode 文件

我的网页由一个动态导入一堆文件的脚本提供服务

(实际上,您能建议一种更好的导入文件的方法吗?我敢肯定有一个。)

有时文件有不同语言的字符串,比如

这些都保存为 UTF-8 文件。Python 在命令行中运行脚本或从我的 MacBook 提供页面没有问题:

但是在尝试从我们刚刚移动到的服务器上提供页面时会引发错误:

所有文件都是从我的笔记本电脑上复制的,它们由 Apache 完美地提供服务。是什么原因?

更新:我发现默认编码open()是平台相关的,所以它utf8在我的笔记本电脑和ascii服务器上。我想知道在 Python 3 中是否有一个按程序设置的函数(sys.setdefaultencodingsite模块中使用,然后从命名空间中删除)。

0 投票
2 回答
10581 浏览

unicode - Python 3,使用 sys.stdout.buffer.write() 的风格好吗?

在我了解了如何在 Python 3.0 Web 脚本中读取unicode 文件之后,现在是我学习使用print()unicode 的时候了。

我搜索了写 unicode,例如这个问题解释了你不能将 unicode 字符写入非 unicode 控制台。但是,就我而言,输出是提供给 Apache 的,我确信它能够处理 unicode 文本。但是,出于某种原因,stdout我的网络脚本位于ascii.

显然,如果我要打开一个文件来写自己,我会做类似的事情

但由于我得到了一个开放的流,我求助于使用

一切似乎都奏效了。这是否违反了一些良好行为规则或有任何意想不到的后果?

0 投票
3 回答
21887 浏览

python - 使用 Python 的内置 .csv 模块编写

[请注意,这与已经回答的如何使用 Python 的内置 .csv 编写器模块替换列?]

我需要在一个巨大的 Excel .csv 文件中进行查找和替换(特定于一列 URL)。由于我正处于尝试自学脚本语言的开始阶段,我想我会尝试在 python 中实现该解决方案。

在更改条目的内容后尝试写回 .csv 文件时遇到问题。我已阅读有关如何使用编写器的官方 csv 模块文档,但没有涵盖这种情况的示例。具体来说,我试图在一个循环中完成读取、替换和写入操作。但是,不能在 for 循环的参数和 writer.writerow() 的参数中使用相同的“行”引用。那么,一旦我在 for 循环中进行了更改,我应该如何写回文件?

编辑:我实施了 S. Lott 和 Jimmy 的建议,结果仍然相同

编辑#2:根据 S. Lott 的建议,我在 open() 函数中添加了“rb”和“wb”

编辑:供您参考,这是来自解释器的的完整回溯:

0 投票
5 回答
10427 浏览

python - 为什么打印语句不是pythonic?

这个问题困扰了我很长一段时间(正如我之前的问题所证明的那样):为什么确切print(x)地更好(被定义为更pythonic)比print x

对于那些不知道的人,该print语句在 Python 3.0 中已更改为函数。正式文档在PEP 3105中,动机在Guido van Rossum 的电子邮件中。

对于这些观点,我想提出一个反对意见:

  1. 还有其他运算符,例如import我们写成语句的运算符,尽管它们的功能实际上与函数重复__import__
    • 对于初学者来说,算子print不属于一般的应用逻辑。对他们来说,神秘的操作员是他们计划的高潮。他们希望它看起来不一样。
    • 现在保证所有描述基本 Python 2.x 的初学者书籍都与第一个示例不同。当然,语言有时会发生变化,但这些变化对于新手来说通常不太明显。
    • 对我来说,print可以在应用程序级别复制的功能并不是很明显。例如,有时我想将来自控制台的打印重定向为模式 OS 对话框。
    • 虽然人们说很难将所有print语句重写为函数,但他们已经迫使每个 Python 2.x 开发人员在他们的所有项目中都这样做。很好,使用自动转换器并不难。
    • 如果是一个语句包装函数,那么每个喜欢拥有操作函数的能力的人print都会得到很好的服务。print__print__

那么,我们能否在 Stack Overflow 的页面上对这个问题给出一个规范的答案?

0 投票
2 回答
82 浏览

python - 实现动态视图的简单方法?

View 是Python 3的有用构造。对于那些从未注意到的人(比如我):对于d您可以编写的字典k = d.keys(),即使您更新d变量k仍会为您提供更新后的键。你可以写k1 & k2,它会永远给你d1.keys() & d2.keys()

我想为我的个人待办事项管理器实现这个,但我想让复杂的视图动态化,或者懒惰地评估。也就是说,我有一些名为 的视图sopost并且priority我希望能够编写:

这样以后,当__repr__(now)调用 时,仅在点执行评估。

我的第一个想法是重载逻辑运算符,因此我更改View.__and__为创建一个新视图,该视图记住自己是两个子视图的组合,&并在计算时应用于它们。但是似乎有相当多的逻辑运算符,所以我不确定我是否做对了。

是否有一个标准库类可以帮助我解决这个问题?如何简化流程?

0 投票
2 回答
6418 浏览

python - 如何在 Python 3.1 中进行 Windows API 调用?

有没有人找到适用于 python 3.x的pywin32版本?最新可用的似乎是 2.6。

或者,我将如何在 Python 3.1 中“滚动我自己的”Windows API 调用?