我已经在论坛上找到了几个答案,但没有任何成功。 我正在使用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完全陌生,无法找到原因并不起作用。
每个回复都赞赏!
答案 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将其作为前缀附加到文件名相对位置。这也允许您将文件移动到其他位置并创建一个允许您重新定义前缀的函数。