当前位置: 首页 > 面试题库 >

在python 2.x中是否不可避免出现“编码是无效关键字”错误?

司徒鸿文
2023-03-14
问题内容

我在那里尝试将ansi转换为utf-8的答案。

import io

with io.open(file_path_ansi, encoding='latin-1', errors='ignore') as source:
    with open(file_path_utf8, mode='w', encoding='utf-8') as target:
        shutil.copyfileobj(source, target)

但是我收到“ TypeError:’encoding’是此函数的无效关键字参数”

我尝试过

with io.open(file_path_ansi, encoding='cp1252', errors='ignore') as source:

,也有同样的错误。

然后我尝试

import io

with io.open(file_path_ansi, encoding='latin-1', errors='ignore') as source:
    with io.open(file_path_utf8, mode='w', encoding='utf-8') as target:
        shutil.copyfileobj(source, target)

仍然出现相同的错误。我也尝试了cp1252,但是出现了同样的错误。

我从几个stackoverflow问题中学到了

TypeError: 'encoding' is an invalid keyword argument for this function

是python 2.x中经常出现的错误消息

但是主要的回答者建议以某种方式使用python 3。

python 2.x中将ansi txt转换为utf-8 txt真的是不可能的吗?(我使用2.7)


问题答案:

对于Python2.7,请io.open()在两个位置使用。

import io
import shutil

with io.open('/etc/passwd', encoding='latin-1', errors='ignore') as source:
    with io.open('/tmp/goof', mode='w', encoding='utf-8') as target:
        shutil.copyfileobj(source, target)

上面的程序在我的电脑上运行没有错误。



 类似资料:
  • 问题内容: 建议在HTML页面中使用表格(现在已经有了CSS)? 表格有什么用途?表具有哪些CSS所没有的功能? 问题答案: 一点都不。但是将表格用于表格数据。只是不要将它们用于一般布局。 但是,如果您显示表格数据(例如结果或什至是表格),请继续使用表格!

  • 问题内容: React文档指出函数应该是 纯 函数,这意味着它不应该在函数中使用。但是,我相信当状态依赖于“远程”(即由ajax调用产生的结果)时。唯一的解决方案是在函数内部 就我而言。我们的用户应该可以登录。登录后,我们还需要检查用户的访问权限(ajax调用),以决定如何显示页面。代码是这样的 之所以无法显示ajax调用,是因为当用户单击LOGIN按钮时,页面会重新呈现,并且还需要ajax调用。

  • 我看到的所有在Swift中定义DSL的博客帖子都使用尾随闭包,并使用闭包参数$0。这使得代码冗长,而且我认为很难看。(例如:https://mecid.github.io/2019/01/30/creating-dsl-in-swift) 有没有办法避免这样的代码? 到处都是0美元。 Kotlin通过“带接收器的扩展函数”避免了这种情况(请参阅:带T.()的Kotlin函数签名意味着什么?)。 S

  • 问题内容: 我目前正在学习go,我的一些代码如下所示: 这在我看来有点不对劲,因为错误检查占用了大多数行。有没有更好的方法来进行错误处理?我是否可以通过一些重构来避免这种情况? 更新: 感谢您的所有答案。请注意,在我的示例中,doB取决于a,doC取决于b,依此类推。因此,大多数建议的重构在这种情况下不起作用。还有其他建议吗? 问题答案: 这是一个常见的投诉,有几个答案。 以下是一些常见的问题:

  • 问题内容: 在编程课上,教授正在教我们有关和的信息,其中x是整数。 他说,在这种情况下,我们可以只将or或放进去,以提高效率(虽然有点,但从理论上讲,还是效率更高)。 但是我忘了为什么 。有谁知道?这是与Java。 问题答案: 在Java中效率不是更高。在递增/递减运算符可以重载的语言中,它可能会更有效,但在其他方面,性能则完全相同。 和之间的区别在于,返回的值 是递增之前的值,返回的值是递增之后

  • 问题内容: 我有以下内容: 但是,并非总是有一个结果会给我以下错误: NoSuchElementException:没有值 那么,如果没有值,我该如何返回? 问题答案: 您可以使用,它比检查要简单得多: