鱼C论坛

 找回密码
 立即注册
查看: 3195|回复: 4

[已解决]python FTP 功能问题请教

[复制链接]
发表于 2016-4-19 18:00:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import ftplib
ftp=ftplib.FTP()
IP_ADDRESS='122.50.147.50'
port=21
username="sunny"
password="*******"
ftp.connect(IP_ADDRESS, port)
ftp.login(username, password)
print ftp.getwelcome()
currentpath='/www/qq/API/comm/'
ftp.cwd(currentpath)
ftp.dir()
###这个文件是服务器上实际存在的,就想下载这个文件到本地
DownLocalFilename='config.php'
ftp.retrbinary('RETR ' + DownLocalFilename, open(DownLocalFilename,'wb').write)
ftp.close()

报错:
220 ProFTPD 1.3.4c Server (ProFTPD) [121.40.147.50]
drwxrwxrwx   8 root     root         4096 Mar 18 01:17 shop
drwxrwxrwx   5 root     root         4096 Apr  4 08:45 wap
drwxrwxrwx   9 root     root         4096 Apr  5 12:07 www
-rwxrwxrwx   1 root     root          223 Jan  7  2013 config.php
-rw-r--r--   1 daemon   daemon        485 Apr  1 08:43 inc.php
-rwxrwxrwx   1 root     root          893 Jan  7  2013 utils.php
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\ftp.py", line 18, in <module>
    ftp.retrbinary('RETR ' + DownRoteFilename, open(DownRoteFilename,'wb').write
)
IOError: [Errno 13] Permission denied: 'config.php'
最佳答案
2016-4-21 18:16:53
Image 1.png
getpass模块可用于获取隐藏密码,用上边的方法可以不用显示使用21端口,FTP模块已经将20/21两个端口封装起来,可以直接调用
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-4-20 11:20:08 | 显示全部楼层
沉了啊 请专家帮帮忙啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-20 14:41:32 | 显示全部楼层
终于找到原因了 这个是权限问题,在windows下要用administer,Linux要root 权限。还是有其他问题继续调测。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-20 17:24:03 | 显示全部楼层
下载文本文件方法,但是觉得有点土,要继续研究下。
import ftplib
ftp=ftplib.FTP()
IP_ADDRESS='172.25.127.***'
port=21
username="test"
password="****"
ftp.connect(IP_ADDRESS, port)
ftp.login(username, password)
print ftp.getwelcome()
currentpath='//ocs//log'
ftp.cwd(currentpath)
ftp.dir()
bufsize=1024
DownLocalFilename='zxcom_new.log'
file_handle=open(DownLocalFilename,'wb').write
ftp.retrbinary('RETR zxcom.log',file_handle,bufsize)
ftp.close()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-21 18:16:53 | 显示全部楼层    本楼为最佳答案   
Image 1.png
getpass模块可用于获取隐藏密码,用上边的方法可以不用显示使用21端口,FTP模块已经将20/21两个端口封装起来,可以直接调用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-20 17:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表