pysmb 没有 openFile
时间: 2024-03-08 14:49:56 浏览: 166
`pysmb` 库中确实没有 `openFile` 方法,可能是您在使用其他 SMB/CIFS 库时混淆了。如果您想通过 `pysmb` 库访问共享文件夹,可以使用 `smbclient` 类提供的方法。以下是一个示例代码:
```python
from smb.SMBConnection import SMBConnection
from smb import smb_structs
# 建立连接
conn = SMBConnection('username', 'password', 'client_machine_name', 'server_name', use_ntlm_v2=True)
conn.connect('server_ip', 139)
# 读取文件
smb_structs.SUPPORT_SMB2 = True # 为了支持 SMB2 协议
file_obj = conn.retrieveFile('shared_folder', 'filename')
# 关闭连接
conn.close()
```
其中,`SMBConnection` 方法用于建立连接,参数依次为用户名、密码、客户端机器名、服务器名、是否使用 NTLMv2 认证。`connect` 方法用于连接到共享文件夹,参数为服务器的 IP 地址和共享文件夹的端口号。`retrieveFile` 方法用于从共享文件夹中读取文件,第一个参数为共享文件夹的路径,第二个参数为要读取的文件名。最后,使用 `close` 方法关闭连接。
需要注意的是,`pysmb` 库的 `SMBConnection` 类不支持 SMB2 协议,如果要访问支持 SMB2 协议的共享文件夹,需要在读取文件之前添加 `smb_structs.SUPPORT_SMB2 = True` 这句代码。
阅读全文