博客
关于我
Python 出现 TypeError: ‘encoding‘ is an invalid keyword argument for this function 解决方法
阅读量:804 次
发布时间:2023-03-07

本文共 735 字,大约阅读时间需要 2 分钟。

在Python 3版本中,open函数的参数设置与Python 2存在显著差异。以下是针对您的问题的详细解释和解决方案:


在Python 3中,文件操作的open函数已经发生了变化。具体来说,encoding参数不再是open函数的有效参数。在Python 3中,open函数的默认行为已经能够正确处理文件编码问题,因此不再需要显式指定encoding参数。


问题分析:

您提供的代码如下:

with open('./xx.csv','r',encoding='utf-8') as csvfile:

运行时出现错误:

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

这表明在Python版本中,open函数不支持encoding参数。


解决方案:

在Python 3中,建议使用io.open来实现文件操作。io.open方法支持encoding参数,并且是Python 3兼容的标准方法。

修改后的代码如下:

import iowith io.open('./xx.csv', 'r', encoding='utf-8') as csvfile:

注意事项:

  • 确认Python版本:请确保您使用的是Python 3。如果您的环境中使用的是Python 2,请通过codecs.open或其他方法进行处理。
  • 默认编码:在Python 3中,文件默认使用utf-8编码。如果文件使用其他编码格式,请在open时指定相应的参数。
  • 文件读取方式:根据文件类型和编码需求,选择合适的读取模式(如r、rb等)。

  • 通过以上方法,您可以正常地读取UTF-8编码的CSV文件而不再出现错误。

    转载地址:http://ccofk.baihongyu.com/

    你可能感兴趣的文章
    Python3.6.3中,functools似乎不能用
    查看>>
    python3.6.5+cuda9+cudnn7.1+win10+tensorflow-gpu1.9.0下载配置
    查看>>
    python3.6使用pickle序列化class
    查看>>
    python3.6入门到高阶(全栈) day027 网络通信协议 osi七层模型
    查看>>
    Python3.6属性错误:模块‘;异步没有属性‘;运行‘;
    查看>>
    python3.6版本中的python-weka-wrapper安装失败,错误代码为%1
    查看>>
    Python3.7安装cv2踩过的坑
    查看>>
    python写txt文件
    查看>>
    python关于sorted排序函数详细解析 附实战代码(全)
    查看>>
    python3.8调用m文件,调用matlab
    查看>>
    python3.9新特性_Python 3.9 新特性速览
    查看>>
    Python3.x:遍历select下拉框获取value值
    查看>>
    python360百科_11月编程排行榜:Python超过Java成第二
    查看>>
    Python关于Paginator分页函数详细解析 附实战代码
    查看>>
    python3、ipython3、setup-tools、pip等环境搭建详细总结
    查看>>
    python3下使用cv2.imwrite存储带有中文路径图片或者绝对路径图片
    查看>>
    python3与django中@property详解
    查看>>
    python3中如何表示无穷大
    查看>>
    Python3中提示:no module named 'wxpy'
    查看>>
    python3中选择文件对话框的格式打开和保存图片
    查看>>