用Python自动上传文件到百度网盘原来这么简单

要使用Python自动上传文件到百度网盘,你可以使用bypy开源模块,它提供了丰富的功能,包括显示文件列表、同步目录、文件上传。

仅支持 /apps/bypy 目录。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install bypy

2.授权bypy访问百度网盘

首先试一下显示在云盘(程序的)根目录下文件列表,cmd/终端里输入:

bypy list

会出现这样的界面

61056e7554035cc71911749d72e696a5.png

点击终端上方出现的蓝色链接

de5e07c41976ccc25403f68a74c3a731.png

复制授权码,在终端输入并回车:

b6e56de3cb477bae547f210778d4113c.png

完成授权。

3.开始使用bypy

在你的百度网盘上的“我的网盘>我的应用数据”新建一个bypy文件夹,并放置文件:

f9cb077c889d25315195fa576ce55eb6.png

使用以下代码就可以获取到这个文件夹下的文件列表:

from bypy import ByPy
bp = ByPy()
print(bp.list())

效果如下:

0ac4fc0ce9b1c7dfa07861278ec3d3b9.png

4.文件上传功能

如果需要上传文件,只需要调用upload函数:

from bypy import ByPy
bp = ByPy()

bp.upload(
  r"C:\Users\83493\Downloads\Snipaste_2023-04-15_19-58-37.png",
  "Python实用宝典.png"
)
print(bp.list())

效果如下:

6d56e8d19a479670998529bdc38107fe.png

打开百度网盘测试一下:

fdedb1ec2faac136ea53dfde37f93553.png

成功咧,真简单咧。

5.文件同步功能

你可以选择把整个文件夹统统同步到百度网盘,比如我这里有个文件夹要全部推送到百度网盘:

d6576ed997412bc52024f97ebd831fa7.png

那么我们只需要这么写:

from bypy import ByPy
bp = ByPy()

bp.syncup(
  r"D:\CODE\baidu_upload\Python实用宝典的推送素材",
  "Python实用宝典的推送素材"
)
print(bp.list())

自动创建Python实用宝典的推送素材文件夹:

de28fa1828d212fc1f5e89ac35502de9.png

打开看看,你会发现所有文件都被自动同步上来了

6647870a8ac49325683fa19abd69aca9.png

另外,还有一个 syncdown方法,是把 "我的网盘/我的应用数据/bypy" 下某个目录同步到本地:

from bypy import ByPy
bp = ByPy()

bp.syncdown(
  "Python实用宝典的推送素材",
  r"D:\CODE\baidu_upload\Python实用宝典的推送素材2"
)
print(bp.list())
05f3f4c473bbcc894f6439e856f9ba08.png

有需要的同学快试试吧!

我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注Python实用宝典。

有任何问题,可以在公众号后台回复:加群,回答相应红字验证信息,进入互助群询问。

原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!

点击下方阅读原文可获得更好的阅读体验

Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

301e160f935df6fc2ef3d570b95d97fb.jpeg

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,这是一个技术问题,我可以回答。下面是一个简单Python类示例,可以用来上传本地文件百度网盘: ```python import requests import json class BaiduNetdiskUploader: def __init__(self, access_token): self.access_token = access_token self.upload_url = 'https://pan.baidu.com/rest/2.0/xpan/file?method=upload&access_token=' + access_token def upload_file(self, file_path, save_path='/'): file_name = file_path.split('/')[-1] headers = {'User-Agent': 'Mozilla/5.0'} data = {'path': save_path + file_name} files = {'file': open(file_path, 'rb')} response = requests.post(self.upload_url, headers=headers, data=data, files=files) result = json.loads(response.text) if 'error_code' in result: print('Upload failed: ' + result['error_msg']) else: print('Upload success: ' + file_name) # 使用示例 access_token = 'your_baidu_netdisk_access_token' uploader = BaiduNetdiskUploader(access_token) uploader.upload_file('/path/to/your/local/file') ``` 在这个示例中,我们通过调用百度网盘的API,使用access_token进行身份验证,并上传本地文件到指定的目录。你需要将 `your_baidu_netdisk_access_token` 替换为你自己的百度网盘access_token,`/path/to/your/local/file` 替换为你想要上传的本地文件路径。 ### 回答2: 要使用Python编写一个类来实现将本地文件上传到百度网盘,可以按照以下步骤进行编写: 1. 首先需要导入必要的模块,例如bypy和os模块。bypy是百度云网盘的Python API接口库,可用于控制文件的上传和下载操作。 2. 创建一个类,例如BaiduNetDiskUploader,作为文件上传器。 3. 在类的构造函数中,可以初始化bypy的API对象,这需要输入百度云网盘的应用授权信息。 4. 可以定义一个上传文件的方法,例如upload_file方法,该方法需要传入本地文件的路径作为参数。在方法体内,可以使用os.path模块获取文件名和文件夹路径。 5. 在upload_file方法中,可以调用bypy的upload方法,将本地文件上传到百度网盘。upload方法需要传入两个参数,分别是文件路径和上传到百度网盘的目标路径。 下面是一个示例代码: ```python import os import bypy class BaiduNetDiskUploader: def __init__(self, app_key, app_secret): self.client = bypy.BaiduYun(app_key, app_secret) def upload_file(self, file_path): file_name = os.path.basename(file_path) target_path = "/path/to/upload/destination/" # 设置上传到百度云的目标路径 self.client.upload(file_path, target_path + file_name) # 示例用法 app_key = "your_app_key" app_secret = "your_app_secret" uploader = BaiduNetDiskUploader(app_key, app_secret) local_file_path = "/path/to/local/file.txt" uploader.upload_file(local_file_path) ``` 以上示例代码仅供参考,具体的百度云网盘授权信息、文件上传路径等需要根据实际情况进行修改。另外,还可以根据需要添加其他功能,例如下载文件、创建文件夹等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值