日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python采集修改原创_python应用系列教程——python中ftp操作:连接、登录、获取目录,重定向、上传下载,删除更改...

發(fā)布時(shí)間:2025/3/13 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python采集修改原创_python应用系列教程——python中ftp操作:连接、登录、获取目录,重定向、上传下载,删除更改... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

python中ftp操作:

ftp=FTP() #設(shè)置變量

ftp.set_debuglevel(2) #打開調(diào)試級別2,顯示詳細(xì)信息

ftp.connect(“IP”,”port”) #連接的ftp sever和端口

ftp.login(“user”,”password”)#連接的用戶名,密碼

print ftp.getwelcome() #打印出歡迎信息

ftp.cmd(“xxx/xxx”) #更改遠(yuǎn)程目錄

bufsize=1024 #設(shè)置的緩沖區(qū)大小

filename=”filename.txt” #需要下載的文件

file_handle=open(filename,”wb”).write #以寫模式在本地打開文件

ftp.retrbinaly(“RETR filename.txt”,file_handle,bufsize) #接收服務(wù)器上文件并寫入本地文件

ftp.set_debuglevel(0) #關(guān)閉調(diào)試模式

ftp.quit #退出ftp

ftp相關(guān)命令操作

ftp.cwd(pathname) #設(shè)置FTP當(dāng)前操作的路徑

ftp.dir() #顯示目錄下文件信息

ftp.nlst() #獲取目錄下的文件

ftp.mkd(pathname) #新建遠(yuǎn)程目錄

ftp.pwd() #返回當(dāng)前所在位置

ftp.rmd(dirname) #刪除遠(yuǎn)程目錄

ftp.delete(filename) #刪除遠(yuǎn)程文件

ftp.rename(fromname, toname)#將fromname修改名稱為toname。

ftp.storbinaly(“STOR filename.txt”,file_handel,bufsize) #上傳目標(biāo)文件

ftp.retrbinary(“RETR filename.txt”,file_handel,bufsize)#下載FTP文件

前提條件是你已經(jīng)在當(dāng)前電腦或遠(yuǎn)程服務(wù)器開通了ftp功能。

這里在本機(jī)上調(diào)試,目標(biāo)主機(jī)也是本機(jī)。ftp信息如下表

主機(jī)地址192.168.8.102,端口號(hào)使用默認(rèn)21端口,開啟了匿名登錄。所以在代碼中登陸ftp賬號(hào)密碼為空。

ftp所需要的庫已經(jīng)集成在了python系統(tǒng)中

#coding:utf-8

#ftp演示,首先要在本機(jī)或遠(yuǎn)程服務(wù)器開啟ftp功能

import sys,os,ftplib,socket

print("=====================FTP客戶端=====================");

HOST = '192.168.8.102'? #FTP主機(jī)

user = "username"

password = "pwd"

buffer_size = 8192

#連接登陸

def connect():

try:

ftp = ftplib.FTP(HOST)

ftp.login()#登錄,參數(shù)user,password,acct均是可選參數(shù),

#f.login(user="user", passwd="password")

return ftp

except (socket.error,socket.gaierror):

print("FTP登陸失敗,請檢查主機(jī)號(hào)、用戶名、密碼是否正確")

sys.exit(0)

print('已連接到: "%s"' % HOST)

#中斷并退出

def disconnect(ftp):

ftp.quit()? #FTP.close():單方面的關(guān)閉掉連接。FTP.quit():發(fā)送QUIT命令給服務(wù)器并關(guān)閉掉連接

#上傳文件

def upload(ftp, filepath):

f = open(filepath, "rb")

file_name = os.path.split(filepath)[-1]

try:

ftp.storbinary('STOR %s'%file_name, f, buffer_size)

print('成功上傳文件: "%s"' % file_name)

except ftplib.error_perm:

return False

return True

#下載文件

def download(ftp, filename):

f = open(filename,"wb").write

try:

ftp.retrbinary("RETR %s"%filename, f, buffer_size)

print('成功下載文件: "%s"' % filename)

except ftplib.error_perm:

return False

return True

#獲取目錄下文件或文件夾想詳細(xì)信息

def listinfo(ftp):

ftp.dir()

#查找是否存在指定文件

def find(ftp,filename):

ftp_f_list = ftp.nlst()? #獲取目錄下文件、文件夾列表

if filename in ftp_f_list:

return True

else:

return False

def main():

ftp = connect()? ? ? ? ? ? ? ? ? #連接登陸ftp

dirpath = 'lp'? ? ? ? ? ? ? ? ? ?#目錄,不能使用lp/lp1這種多級創(chuàng)建,而且要保證你的ftp目錄,右鍵屬性不能是只讀的

try: ftp.mkd(dirpath)? ? ? ? ? ? ? ? ?#新建遠(yuǎn)程目錄

except ftplib.error_perm:

print("目錄已經(jīng)存在或無法創(chuàng)建")

try:ftp.cwd(dirpath)? ? ? ? ? ? ?#重定向到指定路徑

except ftplib.error_perm:

print('不可以進(jìn)入目錄:"%s"' % dirpath)

print(ftp.pwd())? ? ? ? ? ? ? ? ? ? ? ? #返回當(dāng)前所在位置

try: ftp.mkd("dir1")? ? ? ? ? ? ? ? ? #在當(dāng)前路徑下創(chuàng)建dir1文件夾

except ftplib.error_perm:

print("目錄已經(jīng)存在或無法創(chuàng)建")

upload(ftp,"D:/test.txt")? ? ? ?#上傳本地文件

filename="test1.txt"

ftp.rename("test.txt", filename) #文件改名

if os.path.exists(filename):? ?#判斷本地文件是否存在

os.unlink(filename)? ? #如果存在就刪除

download(ftp,filename)? ? ? ? #下載ftp文件

listinfo(ftp)? ? ? ? ? ? ? ? ? ?#打印目錄下每個(gè)文件或文件夾的詳細(xì)信息

files = ftp.nlst()? ? ? ? ? ? ? #獲取路徑下文件或文件夾列表

print(files)

ftp.delete(filename)? ? ? ? ? ? ? #刪除遠(yuǎn)程文件

ftp.rmd("dir1")? ? ? ? ? ? ? ? ? #刪除遠(yuǎn)程目錄

ftp.quit()? #退出

if __name__ == '__main__':

main()

---------------------

作者:數(shù)據(jù)架構(gòu)師

總結(jié)

以上是生活随笔為你收集整理的python采集修改原创_python应用系列教程——python中ftp操作:连接、登录、获取目录,重定向、上传下载,删除更改...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。