python ftplib bufsize_python:ftplib模块
from ftplib import FTP ? ? ?#加載ftp模塊
ftp=FTP() ? ? ? ? ? ? ? ? ? #設置變量
ftp.set_debuglevel(2) ? ? ? #打開調(diào)試級別2,顯示詳細信息
ftp.set_pasv(0) ? ? ? ? ? ? ? ? #0主動模式 1 #被動模式
ftp.connect("IP","port") ? ?#連接的ftp sever和端口
ftp.login("user","password")#連接的用戶名,密碼
print ftp.getwelcome() ? ? ?#打印出歡迎信息
ftp.cmd("xxx/xxx") ? ? ? ? ?#更改遠程目錄
bufsize=1024 ? ? ? ? ? ? ? ?#設置的緩沖區(qū)大小
filename="filename.txt" ? ? #需要下載的文件
file_handle=open(filename,"wb").write ? ? ? ? ? ? ? ? ? #以寫模式在本地打開文件
ftp.retrbinaly("RETR filename.txt",file_handle,bufsize) #接收服務器上文件并寫入本地文件
ftp.set_debuglevel(0) ? ? ? #關(guān)閉調(diào)試模式
ftp.quit ? ? ? ? ? ? ? ? ? ?#退出ftp
ftp.dir() ? ? ? ? ? ? ? ? ? #顯示目錄下文件信息
ftp.mkd(pathname) ? ? ? ? ? #新建遠程目錄
ftp.pwd() ? ? ? ? ? ? ? ? ? #返回當前所在位置
ftp.rmd(dirname) ? ? ? ? ? ?#刪除遠程目錄
ftp.delete(filename) ? ? ? ?#刪除遠程文件
ftp.rename(fromname, toname)#將fromname修改名稱為toname。
ftp.storbinaly("STOR filename.txt",file_handel,bufsize) #上傳目標文件
ps:以下代碼來自《征服python-語言基礎于典型應用》
import string
from ftplib import FTP # 從ftplib模塊中導入FTP
bufsize = 1024 # 設置緩沖區(qū)大小
def Get(filename): # 下載文件
command = 'RETR ' + filename
ftp.retrbinary(command, open(filename,'wb').write, bufsize)
print '下載成功'
def Put(filename): # 上傳文件
command = 'STOR ' + filename
filehandler = open(filename,'rb')
ftp.storbinary(command,filehandler,bufsize)
filehandler.close()
print '上傳成功'
def PWD(): # 獲取當前目錄
print ftp.pwd()
def Size(filename): # 獲取文件大小
print ftp.size(filename)
def Help(): # 輸出幫助
print '''
==================================
Simple Python FTP
==================================
cd 進入文件夾
delete 刪除文件
dir 獲取當前文件列表
get 下載文件
help 幫助
mkdir 創(chuàng)建文件夾
put 上傳文件
pwd 獲取當前目錄
rename 重命名文件
rmdir 刪除文件夾
size 獲取文件大小
'''
server = raw_input('請輸入FTP服務器地址:') # 獲取服務器地址
Help()
ftp = FTP(server) # 連接到服務器地址
username = raw_input('請輸入用戶名:') # 獲取用戶名
password = raw_input('請輸入密碼:')# 獲取密碼
ftp.login(username,password) # 登錄FTP
print ftp.getwelcome()# 獲取歡迎信息
# 命令與對應的函數(shù)字典
actions = {'dir':ftp.dir, 'pwd': PWD, 'cd':ftp.cwd, 'get':Get,
'put':Put, 'help':Help, 'rmdir': ftp.rmd,
'mkdir': ftp.mkd, 'delete':ftp.delete,
'size':Size, 'rename':ftp.rename}
while True: # 命令循環(huán)
print 'pyftp>', # 輸出提示符
cmds = raw_input() # 獲取輸入
cmd = string.split(cmds) # 將輸入按空格分割
try: # 異常處理
if len(cmd) == 1: # 判斷命令是否有參數(shù)
if string.lower(cmd[0]) == 'quit': # 如果命令為quit則退出循環(huán)
break
else:
actions[string.lower(cmd[0])]() # 調(diào)用與命令對應的函數(shù)
elif len(cmd) == 2: # 處理命令有一個參數(shù)的情況
actions[string.lower(cmd[0])](cmd[1]) # 調(diào)用與命令對應的函數(shù)
elif len(cmd) == 3: # 處理命令有兩個參數(shù)的情況
actions[string.lower(cmd[0])](cmd[1],cmd[2]) # 調(diào)用與命令對應的函數(shù)
else:
print '輸入錯誤'
except:
print '命令出錯'
ftp.quit() # 端口連接退出
總結(jié)
以上是生活随笔為你收集整理的python ftplib bufsize_python:ftplib模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 将时间戳_mysql 将时间
- 下一篇: mysql指南_MySQL入门指南