在python程序中连接smb服务器上传下载文件

佚名 / 2024-01-14 / 原文

依赖

pip install pysmb

连接到服务器

from smb.SMBConnection import SMBConnection

# 配置服务端连接信息
server_ip = '192.168.10.100'    # 服务器ip地址
server_name = 'WIN-BBOOIIUU' # 服务器的名称(可以为空)

# 配置客户端连接信息
username = 'Liang'              # 连接的用户名
password = r"ASdf233233"       # 连接的密码
local_name = 'DESKTOP-AALLII'  # 本地计算机的名称(可以为空)

# 配置共享信息
share_folder = 'Zips'         # 要共享的目录

# 创建连接实例
conn = SMBConnection(username, password, local_name, server_name, use_ntlm_v2=True)
connected = conn.connect(server_ip,445) #smb协议默认端口445

if connected:
    # 连接成功,然后上传下载文件

上传文件

# 如果是二进制文件,比如zip包,需要加上参数b
localFile=open("/Users/Liang/Desktop/test.zip","rb") 

# 第二个参数是share_folder的相对路径
conn.storeFile(share_folder,"test1/test.zip",localFile)

localFile.close()

下载文件

localFile=open("/Users/Liang/Desktop/test.zip","wb")

conn.retrieveFile("share_folder","test1/test.zip",localFile)

localFile.close()