无法在python无法在Python中打开文件“没有这样的文件或目录”错误

Cannot open file in Python “No such file or directory” error

我一直在尝试从ftp服务器下载文件。为此,我找到了这个python ftp下载目录中的所有文件并检查了它。无论如何,我提取了我需要的代码,它显示如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import os

from ftplib import FTP

ftp = FTP("ftp.example.com","exampleUsername","examplePWD")

file_names = ftp.nlst("\public_html")

print file_names

for filename in file_names:
    if os.path.splitext(filename)[1] !="":
        local_filename = os.path.join(os.getcwd(),"Download", filename)
        local_file = open(filename, 'wb')
        ftp.retrbinary('RETR ' + filename, local_file.write)
        local_file.close()

ftp.close()

但当它试图打开文件时,它总是说:

1
ftplib.error_perm: 550 Can't open CHANGELOG.php: No such file or directory

我试过w+a+rw等,一直都有同样的错误。有什么想法吗?

注意:我使用的是OSX Mavericks和Python2.7.5。

这个问题可能被问过好几次,相信我,我研究发现了一些问题,但没有一个对我有用。

  • python中的open()如果文件不存在,则不会创建该文件
  • ftplib文件选择

  • 看起来您正在目录中列出文件,然后根据返回的字符串获取文件。nlst()是返回完整路径还是只返回文件名?如果只是文件名而不是retrbinary,则可能需要"/foo/file",但得到"file",并且服务器的根目录中可能没有任何命名文件。