如何使用python在Windows共享网络上传文件

时间:2015-07-16 10:52:33

标签: python samba

我正在使用mac机器。我可以访问Windows共享网络。我可以使用'smb:// location'从我的mac连接到它。

使用python,我希望能够使用我的访问凭据在Windows共享网络上下载/上传文件。我怎么能这样做。

共享位置看起来像smb://v1/abc。我能够连接到这个。现在我想在此连接的文件夹中创建一个文件。

我想在文件夹d2中创建一个文件。我尝试使用pysmb模块。我尝试了以下方法:

>>> fp = open('local_file.txt', 'w')
>>> conn = SMBConnection('user', 'password', 'test_v1','v1', use_ntlm_v2 = True)
>>> conn.retrieveFile('share', 'abc/d2/check.csv', fp)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/8417/repos/workspace/venv/lib/python2.7/site-packages/smb/SMBConnection.py", line 267, in retrieveFile
    return self.retrieveFileFromOffset(service_name, path, file_obj, 0L, -1L, timeout)
  File "/Users/8417/repos/workspace/venv/lib/python2.7/site-packages/smb/SMBConnection.py", line 283, in retrieveFileFromOffset
    raise NotConnectedError('Not connected to server')
smb.base.NotConnectedError: Not connected to server

也尝试过:

>>> conn = SMBConnection('user', 'password', 'test_v1','v1/abc', use_ntlm_v2 = True)
>>> conn.retrieveFile('share', 'd2/check.csv', fp)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/8417/repos/workspace/venv/lib/python2.7/site-packages/smb/SMBConnection.py", line 267, in retrieveFile
    return self.retrieveFileFromOffset(service_name, path, file_obj, 0L, -1L, timeout)
  File "/Users/8417/repos/workspace/venv/lib/python2.7/site-packages/smb/SMBConnection.py", line 283, in retrieveFileFromOffset
    raise NotConnectedError('Not connected to server')
smb.base.NotConnectedError: Not connected to server

1 个答案:

答案 0 :(得分:0)

SMBConnection constructor没有建立连接,您需要在检索文件之前调用connect方法。