IOError: [Errno 22] 无效模式 ('r') 或文件名: '\xe2\x80\xaaD:\\NLP\\cv082_11080.csv'



这是我在pycharm中的代码:

#coding=utf-8
import csv
path=r'‪D:NLPcv082_11080.csv'
with open(path) as f:        # 采用b的方式处理可以省去很多问题
    reader = csv.reader(f)
    for row in reader:
            print reader

但它总是给出这个错误:

IOError: [Errno 22] 无效模式 ('r'( 或文件名: '\xe2\x80\xaaD:\NLP\cv082_11080.csv'

但是当我在 Python 命令行中运行代码时,它运行良好。然后我在pycharm中掠夺设置,但是文件编码的选项是正确的,项目和IDE编码都是UTF-8。我该如何解决这个问题?

您收到错误是因为您的路径中包含一些不可见的字符(如错误消息所示(:

IOError: [Errno 22] invalid mode ('r') or filename: 'xe2x80xaaD:\NLP\cv082_11080.csv' in pycharm
                                                     ^^^^^^^^^^^^

删除整行:

path=r'‪D:NLPcv082_11080.csv'

然后再次手动输入。您可能从某处复制粘贴了路径,并且文本编辑器未显示不可见字符。

这些字符是u202a的UTF-8编码,这是一个从左到右的标记。

问题出在编码造成的路径错误。也许第一行代码 没有起到作用建议#coding=utf-8修改为

# 编码:UTF-8

注意 # 和 coding 之间有一个空格。

最新更新