Python打开文件,找不到文件

时间:2016-12-13 01:27:50

标签: python file

我正在尝试打开一个csv文件并加载它,但它声明它无法找到该文件,当它显然存在于我编写的文件路径中时。

代码

#Load the CSV file into CSV reader
csvfile = open("C:/Users/Sam/Desktop/big data/workspace/test.csv",'rb')

错误

Traceback (most recent call last):
  File "C:/Users/Sam/Desktop/big data/workspace/yelpdatabase.py", line 16, in <module>
    csvfile = open("C:/Users/Sam/Desktop/big data/workspace/test.csv",'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/Sam/Desktop/big data/workspace/test.csv'

3 个答案:

答案 0 :(得分:2)

试试这样:

csvfile = open(r"C:/Users/Sam/Desktop/big data/workspace/test.csv","rb")

确保您的文件名不是test.csv.txt,有时Windows会将.csv作为文件名的一部分

  

使用Python 2.7.12进行测试

结帐http://shortcode.pro/code/open-csv-file-with-python/

答案 1 :(得分:0)

发布此信息,因为这可能是此类问题的原因,如果不一定在这种特定情况下。 Desktop(以及大多数其他用户文件夹)是一个伪魔术文件夹,您不能总是在C:\Users\USERNAME\Desktop找到它。特别是,仅仅因为你在桌面上看到一个文件并不意味着它实际上存在。它可能位于All Users Desktop文件夹中,其中任何一个都可以通过Windows库文件夹重定向魔术重定向。

如果您想要动态获取用户桌面的正确路径,可以使用pywin32扩展名来执行此操作:

from win32com.shell import shell, shellcon
shell.SHGetFolderPath(0, shellcon.CSIDL_MYPICTURES, None, 0)

(提示为this answer),或为所有用户获取公共Desktop文件夹:

import win32com.client
objShell = win32com.client.Dispatch("WScript.Shell")
allUserDocs = objShell.SpecialFolders("AllUsersDesktop")

(帽子提示为this answer)。

上述两种方法都可以在Vista及更高版本上替换,代码可以调用SHGetKnownFolderPath(如果支持pywin32则使用ctypes,或使用{{1直接通过FOLDERID_Desktop包装)和FOLDERID_PublicDesktop用于特定于用户和共享的Desktop文件夹。

答案 2 :(得分:-2)

编辑 - 试试这个

path = r"C:/Users/Sam/Desktop/big data/workspace/test.csv"
csvfile = open(path, 'rb')