博客
关于我
Python 出现 TypeError: ‘encoding‘ is an invalid keyword argument for this function 解决方法
阅读量:801 次
发布时间: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时指定相应的参数。
  • 文件读取方式:根据文件类型和编码需求,选择合适的读取模式(如rrb等)。

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

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

    你可能感兴趣的文章
    Python基础_列表 list
    查看>>
    python系列【仅供参考】:python异步库调用gevent和asyncio对比
    查看>>
    python基础3
    查看>>
    Python基础08 面向对象的基本概念
    查看>>
    python系列【仅供参考】:python二进制转10进制
    查看>>
    Python基础-函数篇
    查看>>
    python基础---->常用模块
    查看>>
    Python基础(2):控制结构
    查看>>
    Python基础 | 关于“循环”那些事
    查看>>
    python系列【仅供参考】:python之subprocess模块rsync拉取文件
    查看>>
    python系列【仅供参考】:python 远程rdp
    查看>>
    python基础
    查看>>
    Python基本语法与变量类型
    查看>>
    python基本数据类型(容器)- tuple list dict set
    查看>>
    python基本工资的调整方案_Python薪资又涨了!这可咋办!
    查看>>
    Python基准测试和性能分析内存管理和垃圾回收
    查看>>
    Python基于RESTful风格的接口自动化测试实战
    查看>>
    python基于pygame实现跨年烟花效果
    查看>>
    python基于flask搭建http服务(四)—— Docker容器化部署
    查看>>
    python基于flask搭建http服务(二)—— 实现Excel上传、数据清洗、入库
    查看>>