在 python 中打开文件时出现奇怪的错误

Weird error opening a file in python

我正在尝试使用配置解析器读取文件路径,然后从该文件中读取

>>> cfg_file = './crawler.config'                                                                                          
>>> config = SafeConfigParser()                                                                                            
>>> config.read(cfg_file)
['./crawler.config']
>>> f = config.get('default', 'sites_file')
>>> with open(f) as fp:
...     print fp.read()
... 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: u'"/home/avi/src/typo.csv"'
>>>

我认为 Unicode 有问题。我想不出解决办法。如果我直接将文件名作为字符串传递,它就可以正常工作。任何解决此问题的帮助将不胜感激。

f = config.get('default', 'sites_file')

可能是 f 的值将是“/home/avi/src/typo.csv”

不存在

with open(f) as fp:
  print fp.read()

您正在尝试读取一个不存在的文件

尝试将配置中 'sites_file' 的值从 "/home/avi/src/typo.csv"

更改为 /home/avi/src/typo.csv

或:

打开文件前替换引号。

例如:

with open(f.replace('"', '')) as fp:
  print fp.read()