PYQT5学习与开发

PYTHON(3)用账号密码登录windows共享文件夹

2019-08-26  本文已影响1人  弗兰克万岁

在工作的时候遇到需要通过账号密码访问window平台的samba文件的情况,因为服务器没有开放权限给everyone,头疼。
百度,stackoverflow基本找不到解决方法,或者字太多,哈哈哈。
最后只好深挖范例

按步骤来说,确认你的共享文件的共享路径,以及账号密码,还有权限是否正确打开。

比如下图


image.png
那么,在python中,server_name就是你的共享路径的aria2。
初始化
user_name = 'USERNAME'
    passwd = 'PASSWD'
    ip = '192.168.2.XXX'
    service_name='aria2'
    dir_name='test'
#test是aria2下面的一个子文件夹
    sb=SMBClient(user_name,passwd,ip)#个人封装的一个类,原理一样
    sb.connect()
    print(sb.status)
    print(sb.samba.listShares())
上传一个文件
    f=open('E:\\Doc1.docx' ,'rb')
    sb.samba.storeFile('aria2','test/tt.doc',f)
    f.close()
打开文件
#如果有开启guest查看权限,就不用经过smb类了,太辛苦直接open吧
  with open(remote_file_path, 'rb') as f:
                temp = f.read()

如果发现共享权限已经开了修改,但是任然报错 unable to open file
并且系统是windows系统,可以查看一下本地权限是否也开了。

如果执行下来没有报错,那么就恭喜成功了。

删除操作
sb.samba.deleteFiles(service_name, ‘test/tt.doc')#delete share file
移动或者重命名
#dir_name是我的一个子文件夹,可以删掉
self.samba.rename
(self.service_name, 
os.path.join(self.dir_name,self.fname),
os.path.join(self.dir_name+'/'+new_path,'1111111'+self.fname), 
timeout=30)

查了半天官方手册总算搞定了。

上一篇下一篇

猜你喜欢

热点阅读