首页 > 其他分享 >【pysmb】smb远程共享下载文件的工具类

【pysmb】smb远程共享下载文件的工具类

时间:2023-12-07 15:58:50浏览次数:33  
标签:__ name self file pysmb path 共享 smb

from smb.SMBConnection import *


class SMBClient:
    """
    SMBClient类,用于连接smb服务器,获取文件
    
	:ip,
	:port(445 or 139),
	:username: 用户名.
	:password: 密码.
    :host: smb服务器名称、电脑名称.
    """
    def __init__(self, ip, port, username, password, host):
        self.ip = ip
        self.port = port
        self.username = username
        self.password = password
        self.host = host
        self.conn = SMBConnection(username, password, 'client_name', host, use_ntlm_v2=True,is_direct_tcp=True)
        self.conn.connect(ip, port)

    def list_shares(self):
        """列出smb共享文件夹名称
        """
        shares = self.conn.listShares()
        return [share.name for share in shares]

    def get_file(self, share_name, remote_file_path, local_file_path):
        """从smb服务器获取文件并下载到本地
        
        :share_name: 远程文件所在共享文件夹名称,即list_shares()返回的列表中的元素。

        :remote_file_path: 远程文件路径,例如:/Project/test.txt。

        :local_file_path: 本地保存的文件名称路径,例如:test.txt。

        :return null
        """
        with open(local_file_path, 'wb') as fp:
            self.conn.retrieveFile(share_name, remote_file_path, fp)

    def close(self):
        self.conn.close()
    
    def __del__(self):
        self.close()

if __name__ == '__main__':
    smb_client = SMBClient("127.0.0.1", 445, "", "", "LAPTOP-AEG82LV")
    print(smb_client.list_shares())
    
    # smb_client.get_file("ffcs", "/Project/test.txt", "test.txt")

标签:__,name,self,file,pysmb,path,共享,smb
From: https://www.cnblogs.com/billyme/p/17882180.html

相关文章

  • 共享内存技术调研
    共享内存技术调研1.     研究目的在调研仿真分布式解决方案时遇到一个问题,在服务器中不同软件之间如何高效的进行通讯,这里涉及到了不同的操作系统(windows和Linux),不同的使用功能(虚实融合,数字仿真),需求不同需要的信息传递效率要求不同,因此需要调研现有的技术,找到适合使用......
  • 数据的实时同步、共享和rsync服务
    数据的实时同步在生产环境,有时会需要两台主机的特定目录实现实时同步。比如,将NFS共享目录的数据文件,自动实时同步到备份服务器特定目录中1.#首先创建个文件夹[root@ubuntu2004~]#mkdir/etc/exports.d[root@ubuntu2004~]#vim/etc/exports.d/text.exports/data/nfsdir2*(rw......
  • 【HarmonyOS】应用内引用HAR(静态共享包)
    ​ 【关键词】共享包、静态共享包、引用HAR 【实现流程】一、     新建一个API9Stage模型的工程。二、     创建HAR模块。1. 鼠标移到工程目录顶部,单击右键,选择新建 > 模块,在工程中添加模块。​​2. 在ChooseYourAbilityTemplate界面中,选择StaticLi......
  • 【HarmonyOS】应用内引用HAR(静态共享包)
     【关键词】共享包、静态共享包、引用HAR【实现流程】一、     新建一个API9Stage模型的工程。二、     创建HAR模块。1. 鼠标移到工程目录顶部,单击右键,选择新建 > 模块,在工程中添加模块。2. 在ChooseYourAbilityTemplate界面中,选择StaticLibrary,并单击Next。......
  • windows 文件夹共享 设置免密共享
    https://jingyan.baidu.com/article/86f4a73ea60a6f37d6526985.html https://blog.csdn.net/lipengfei_1993/article/details/106297073  不要密码共享有些上位机或者AOI相机的data,可以通过共享访问文件进行解析。把每一台aoi的电脑设置共享,然后在在机房的一台工控机安装......
  • 技术学习群-第五期内容共享
    关于Python第三方装包-pandas群友有提问:这个问题还是比较明显的,直接将MicrosoftVisualC++14.0下载安装即可。随后她又遇到了一个问题:安装pandas时因为python版本问题而安装失败。解决:查阅官方网址,看看先对应的限制,更新Python解释器。切换解释器重新安装即可。如下图:官方说明Py......
  • 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.1)
    一、百度网盘SVIP超级会员共享账号可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答。我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免了U盘的物理载体,直接在网上就实现文件传输。百度网盘SVIP会员可以让自己百度账......
  • 金融行业CRM,实现客户信息的整合与共享
    金融企业既要管理海量的客户数据,又需要建立长期稳定的客户关系,才能有效提升业务效率和盈利能力。要实现这些目标,就需要一款强大而灵活的CRM系统。接下来,我们就来说说CRM系统在金融行业的使用场景。销售自动化:ZohoCRM可以帮助金融企业自动化处理琐碎的日常工作,让销售人员集中精......
  • [Unraid 系列 v6.10+] 8 删除 已挂载的zfs格式硬盘 中无用共享文件夹
    说明在使用zfs文件格式并格式化硬盘后,无法通过rm命令删除已共享的文件夹(哪怕已经删除共享)。示例:root@unraid:/mnt/disk2#rm-rappdata/rm:cannotremove'appdata/':Deviceorresourcebusy解决通过zfsdestroy-r命令删除文件夹。示例:root@unraid:/mnt/di......
  • Springboot017学生读书笔记共享-计算机毕业设计源码+LW文档
    摘要本论文主要论述了如何使用JAVA语言开发一个读书笔记共享平台,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述读书笔记共享平台的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶......