Python无法看到csv文件

时间:2017-02-10 17:11:29

标签: python csv

我已经在论坛上找到了几个答案,但没有任何成功。 我正在使用Linux mint,Python 3.6.0,我试图在Python中打开CSV,但随后出现错误:

  file = open("~/Desktop/xyz/city.csv", "rb")
FileNotFoundError: [Errno 2] No such file or directory: '~/Desktop/xyz/city.csv'

我的代码:

import csv

file = open("~/Desktop/xyz/city.csv", "rb")
reader =csv.reader(file)

我也尝试将文件移动到桌面,就像我找到的一些答案,而不是我使用的路径" city.csv"。仍然无法工作。

对Linux完全陌生,无法找到原因并不起作用。

每个回复都赞赏!

3 个答案:

答案 0 :(得分:3)

你应该使用'〜'指定目录的路径,而是指定完整路径。例如。 :

import csv

file = open("/home/user/Desktop/xyz/city.csv", "rb")
reader =csv.reader(file)

如果您需要使用代字号,则应使用os.path.expanduser('~/Desktop/xyz/city.csv')。 E. g。 :

import csv

file = open(os.path.expanduser("~/Desktop/xyz/city.csv"), "rb")
reader =csv.reader(file)

原因在于"波浪扩展"是文件系统无法识别的用户界面功能:http://www.gnu.org/software/bash/manual/bashref.html#Tilde-Expansion

答案 1 :(得分:0)

尝试使用完整的文件路径,如下所示:

file = open("/home/[username]/Desktop/xyz/city.csv", "rb")

答案 2 :(得分:0)

通常~无法正常展开。我发现在需要时,将$HOME环境变量值放入python变量中,然后使用join将其作为前缀附加到文件名相对位置。这也允许您将文件移动到其他位置并创建一个允许您重新定义前缀的函数。