You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python 3将文件上传至Windows SharePoint?

Python3 上传本地文件到SharePoint目录

1. 安装依赖库

首先安装专门用于操作SharePoint的Python库:

pip install office365-rest-python-client

2. 准备必要信息

你需要提前获取以下信息:

  • SharePoint站点的完整URL(例如:https://your-domain.sharepoint.com/sites/your-team-site)
  • 目标文档库的名称(默认通常是Documents)
  • 目标子文件夹路径(如果要上传到子目录,比如Shared Files/Uploads,根目录则留空)
  • 你的Office 365账号和密码(若开启MFA,需用应用权限方式,见下文)

3. 上传代码示例

以下是直接可用的上传脚本,替换配置信息即可:

from office365.sharepoint.client_context import ClientContext
from office365.runtime.auth.user_credential import UserCredential
import os

# 替换为你的配置
site_url = "https://your-domain.sharepoint.com/sites/your-site"
username = "your-work-account@your-domain.com"
password = "your-password"
target_doc_lib = "Documents"
target_subfolder = "TestFiles"  # 上传到该子文件夹,无则设为""
local_file = os.path.join(os.environ['USERPROFILE'], 'Desktop', 'test.txt')  # Windows桌面路径

# 初始化SharePoint客户端
ctx = ClientContext(site_url).with_credentials(UserCredential(username, password))

# 定位目标文件夹
if target_subfolder:
    folder_path = f"{target_doc_lib}/{target_subfolder}"
else:
    folder_path = target_doc_lib
target_folder = ctx.web.get_folder_by_server_relative_url(folder_path)

# 上传文件
with open(local_file, 'rb') as f:
    uploaded_file = target_folder.upload_file(os.path.basename(local_file), f).execute_query()

print(f"上传完成,文件地址:{uploaded_file.serverRelativeUrl}")

特殊情况处理

开启MFA(多因素认证)的场景

账号密码方式无法绕过MFA,需改用应用权限:

  1. 在Azure AD中注册应用,授予Sites.FullControl.All的SharePoint权限
  2. 使用以下代码替换认证部分:
from office365.runtime.auth.client_credential import ClientCredential

client_id = "你的应用ID"
client_secret = "你的应用密钥"
ctx = ClientContext(site_url).with_credentials(ClientCredential(client_id, client_secret))

自动创建目标文件夹

如果不确定目标文件夹是否存在,可以添加创建逻辑:

# 尝试创建文件夹,已存在则忽略异常
try:
    target_folder = ctx.web.folders.add(folder_path).execute_query()
    print(f"已创建文件夹:{folder_path}")
except Exception:
    pass

内容的提问来源于stack exchange,提问作者Leon48912

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 08:05:14