我正在使用这个库 https://github.com/ox-it/python-sharepoint连接到 SharePoint 列表。我可以进行身份验证,访问列表字段,包括我想要的文件的完整 URL,而且这个库似乎确实有 is_file()
和 open()
方法,但是,我不明白如何称呼这些。
任何建议表示赞赏!
from sharepoint import SharePointSite, basic_auth_opener
opener = basic_auth_opener(server_url, "domain/username", "password")
site = SharePointSite(server_url, opener)
sp_list = site.lists['ListName']
for row in sp_list.rows:
print row.id, row.Title, row.Author['name'], row.Created, row.EncodedAbsUrl
#download file
#row.open() ??
引用自述文件:
Support for document libraries is limited, but SharePointListRow objects do support a is_file() method and an open() method for accessing file data.
最佳答案
基本上,您在列表行(类型为 SharePointListRow
)上调用这些方法。
open()
方法其实就是urllib2的opener的方法,一般是这样使用的:
import urllib2
opener = urllib2.build_opener()
response = opener.open('http://www.example.com/')
print ('READ CONTENTS:', response.read())
print ('URL :', response.geturl())
# ....
所以你应该能够像这样使用它(虽然我没有任何 Sharepoint 站点来检查这个):
from sharepoint import SharePointSite, basic_auth_opener
opener = basic_auth_opener(server_url, "domain/username", "password")
site = SharePointSite(server_url, opener)
sp_list = site.lists['ListName']
for row in sp_list.rows(): # <<<
print row.id, row.Title, row.Author['name'], row.Created, row.EncodedAbsUrl
# download file here
print ( "This row: ", row.name() ) # <<<
if row.is_file(): # <<<
response = row.open() # <<<
file_data = response.read() # <<<
# process the file data, e.g. write to disk
关于python - 如何使用 python-sharepoint 库下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31026796/