使用以下代码:
fileName = 'Data\\all_earthquakes.csv'
with open(fileName, 'rb') as csv_file:
attrHeaderRow = csv_file.readline().strip()
我收到以下错误:
IOError: [Errno 2] No such file or directory: 'Data\\all_earthquakes.csv'
在我的Windows 7机器上完美运行。
答案 0 :(得分:2)
Windows和Mac OS X使用不同的字符来分隔路径中的元素。 Windows使用反斜杠,Mac OS X(和Linux / UNIX)使用正斜杠。 Python会为您解决此问题:使用os.path.join
使用当前操作系统的正确分隔符构建路径,或者如果需要用于路径分离的实际字符,请使用os.sep
。
import os
import sys
fileName = os.path.join('Data', 'all_earthquakes.csv')
print('Directory separator on your platform ({}): {}'.format(sys.platform, os.sep))
请注意,Windows在使用Windows API时通常也接受正斜杠作为路径分隔符 - 它只是CMD.EXE,它不接受它们。这就是为什么在Windows上,os.altsep
设置为正斜杠(人们只在所有路径中使用正斜杠,即使在Windows上)。
答案 1 :(得分:1)
您需要按如下方式更改代码:
fileName = 'Data/all_earthquakes.csv'
with open(fileName, 'rb') as csv_file:
attrHeaderRow = csv_file.readline().strip()
Mac OSX使用不同的文件结构,这会导致目录名称中的正斜杠或反斜杠不同。
如果要对此进行检查,请使用以下代码:
from sys import platform as _platform
if _platform == "linux" or _platform == "linux2":
# linux
elif _platform == "darwin":
# OS X
elif _platform == "win32":
# Windows...
elif _platform == "cygwin":
#cygwin install
可在此处找到更多信息: