python 多个用户对FTP上同一个文件做读写

python 多个用户对FTP上同一个文件做读写,第1张

你的意思是, 用户用你的代码来访问文件 你可以调用系统的接口来查看是否有人在使用文件; 或者在上下文管理器中加个锁(只是个标记), 访问的时候在旁边随便建个文件, 其他人看到文件存在就给个提示并退出 读写完后删除这个随便的文件

ftp相关命令 *** 作

ftpcwd(pathname) #设置FTP当前 *** 作的路径

ftpdir() #显示目录下文件信息

ftpnlst() #获取目录下的文件

ftpmkd(pathname) #新建远程目录

ftppwd() #返回当前所在位置

ftprmd(dirname) #删除远程目录

ftpdelete(filename) #删除远程文件

ftprename(fromname, toname)#将fromname修改名称为toname。

ftpstorbinaly("STOR filenametxt",file_handel,bufsize) #上传目标文件

ftpretrbinary("RETR filenametxt",file_handel,bufsize)#下载FTP文件

有几个办法

1如果是linux,用scp,最简单。

2如果是windows,用共享文件夹最简单,共享完后,复制就可以

3在目标服务器上弄一个服务,可以是FTP也可以是自己定义的socketserver。自己做服务端,也做客户端。这样权限比较大。

4在目录服务器上安装一个标准的ftp服务器。然后客户端用python,使用ftplib

具体的用法。你自己去试验。不会花多少时间。1个小时就弄好了。

先是使用ftp的CD命令到指定的目录。然后是使用PUT命令上传文件。

不过如果是方法4,而a,b,c又不是在同一个父目录下,可能会有权限问题。

#!/usr/local/bin/python

#-- coding: UTF-8 --

####################################################################

# python 查看FTP是否能连接成功

####################################################################

#import ftplib

##f = ftplibFTP('192168100214')

##flogin('GDATA_MEM','123456')

##ftplibset_debuglevel(2) #打开调试级别2,显示详细信息

#data=ftplibFTP('127001','admin','123456')

#print data

from ftplib import FTP

def ftp_open(host='',user='',passwd=''): #打开FTP

try:

ftp=FTP()

) #打开调试级别2,显示详细信息

) #连接

data=ftplogin(user,passwd) #登录,如果匿名登录则用空串代替即可

print () #欢迎词

#print data

return 1

except:

return 0

if __name__=='__main__':

if ftp_open('127001','admin','1234561'): #打开FTP

print "打开FTP成功"

else:

print "打开FTP失败"

例:下载、上传文件

# coding: utf-8

from ftplib import FTP

import time

import tarfile

import os

# !/usr/bin/python

# -- coding: utf-8 --

from ftplib import FTP

def ftpconnect(host, username, password):

    ftp = FTP()

    # ftpset_debuglevel(2)

    ftpconnect(host, 21)

    ftplogin(username, password)

    return ftp

#从ftp下载文件

def downloadfile(ftp, remotepath, localpath):

    bufsize = 1024

    fp = open(localpath, 'wb')

    ftpretrbinary('RETR ' + remotepath, fpwrite, bufsize)

    ftpset_debuglevel(0)

    fpclose()

#从本地上传文件到ftp

def uploadfile(ftp, remotepath, localpath):

    bufsize = 1024

    fp = open(localpath, 'rb')

    ftpstorbinary('STOR ' + remotepath, fp, bufsize)

    ftpset_debuglevel(0)

    fpclose()

if __name__ == "__main__":

    ftp = ftpconnect("113105139xxx", "ftp", "Guest")

    downloadfile(ftp, "Faintmp4", "C:/Users/Administrator/Desktop/testmp4")

    #调用本地播放器播放下载的视频

    ossystem('start "C:\Program Files\Windows Media Player\wmplayerexe" "C:/Users/Administrator/Desktop/testmp4"')

    uploadfile(ftp, "C:/Users/Administrator/Desktop/testmp4", "testmp4")

    ftpquit()

共享文件夹或者文件除了上一篇文章中所说的>

你的意思是在FTP服务器上直接对文件夹压缩打包?这个不是python可不可以的问题,这个是由FTP服务器的权限来决定的,一般在网络上的FTP服务器是禁止上传,或者更改目录中的文件的,而你所需要的压缩也是对文件进行 *** 作,是不被允许的。而且FTP 的RFC中也是没有这一项的,是不可以的。当然若你有权限可以通过python ssh到FTP服务器上,是可以进行任何 *** 作的。

以上就是关于python 多个用户对FTP上同一个文件做读写全部的内容,包括:python 多个用户对FTP上同一个文件做读写、python 检测FTP目录是否为空、求帮忙写个python的FTP小脚本或者批处理,复制文件到多个文件夹等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9326927.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存