我刚刚在windows中安装了anaconda,并且正在使用ipython。我做的第一件事就是尝试打开一个文件,这样我就可以读取它。
然而,我得到以下错误。
f=open("C:\Users\user\Downloads\botnet-capture-20110810-neris.json")
---------------------------------------------------------------------------
IOError Traceback (most recent call last)
<ipython-input-6-e94e0c1093da> in <module>()
----> 1 f=open("C:\Users\user\Downloads\botnet-capture-20110810-neris.json")
IOError: [Errno 22] invalid mode ('r') or filename: 'C:\\Users\\user\\Downloads\x08otnet-capture-20110810-neris.json我做错了什么?
发布于 2015-09-27 09:32:12
首先,要确保文件C:\Users\user\Downloads\botnet-capture-20110810-neris.json的存在。
那么答案是
f=open(r"C:\Users\user\Downloads\botnet-capture-20110810-neris.json")注意字符串之前的r,它指示您使用的是原始字符串,忽略文件路径中的转义。
解释
在Windows中,文件系统分隔符是'\‘,它在Python中引导转义字符。您的错误的直接问题是'\b‘字符。
与在Python中使用原始字符串不同,您还可以使用'\‘来转义'\’。现在,您的文件路径看起来像
f=open("C:\\Users\\user\\Downloads\\botnet-capture-20110810-neris.json")发布于 2015-09-27 09:34:52
您应该这样使用raw sting,因为Windows在path中使用反斜杠:
f = open(r"C:\Users\user\Downloads\botnet-capture-20110810-neris.json")这里是一个很好的文档,可以解释为什么在Windows上需要raw sting。
顺便说一句,我建议您这样使用with:
with open(r"C:\Users\user\Downloads\botnet-capture-20110810-neris.json") as f:
# some code here发布于 2015-09-27 09:36:36
\b是一个字符,改为使用正斜杠语法(正如在Linux上所做的那样):
F= open("C:/Users/user/Downloads/botnet-capture-20110810-neris.json")
https://stackoverflow.com/questions/32806418
复制相似问题