Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Python中打开文件";没有这样的文件或目录;错误_Python_Python 2.7_Ftp_Osx Mavericks - Fatal编程技术网

无法在Python中打开文件";没有这样的文件或目录;错误

无法在Python中打开文件";没有这样的文件或目录;错误,python,python-2.7,ftp,osx-mavericks,Python,Python 2.7,Ftp,Osx Mavericks,我一直在尝试从FTP服务器下载文件。为此,我找到了这个并检查了它。总之,我提取了我需要的代码,它显示如下: 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.pat

我一直在尝试从FTP服务器下载文件。为此,我找到了这个并检查了它。总之,我提取了我需要的代码,它显示如下:

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()
但当它试图打开文件时,它一直说:

ftplib.error_perm: 550 Can't open CHANGELOG.php: No such file or directory
我试过
w+
a+
rw
,等等,但我总是遇到同样的错误。有什么想法吗

注意:我使用的是OSX小牛和Python 2.7.5

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


  • 看起来您正在目录中列出文件,然后根据返回的字符串获取文件。nlst()是返回完整路径还是仅返回文件名?如果它只是文件名,那么retrbinary可能期望“/Foo/file”但得到“file”,并且在服务器的根目录中可能没有任何命名的file。

    这似乎是一个特立独行的问题