
你的意思是, 用户用你的代码来访问文件 你可以调用系统的接口来查看是否有人在使用文件; 或者在上下文管理器中加个锁(只是个标记), 访问的时候在旁边随便建个文件, 其他人看到文件存在就给个提示并退出 读写完后删除这个随便的文件
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-8from 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小脚本或者批处理,复制文件到多个文件夹等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)