用途
在使用网盘的时候会对文件类型进行检查,这个脚本主要是通过修改文件类型标志来实现修改文件类型的,主要是zip格式和txt格式文件的互换。
用法
将python脚本和待加密或解密的文件放在同一个文件夹中,多次运行该脚本即可实现加密和解密。得到的zip可以直接解压缩然后查看文件。
注意
[ol]
[/ol]
示例图片
今天突然发现微博图床不能用了,就不发图片的,内容也不难,看代码部分就行
代码
import os
# 2022-06-12 修改zip文件为txt,方便阿里云盘的分享限制
# 目前阿里云通过文件后缀名和文件格式信息来判断文件是否受限
# zip文件的格式信息为(0x04034b50)小端表示为504b0304,是使用范围最广的一种压缩格式
# 解决方法是将50替换为00(其他的十六也可以),将zip改为txt或其他可分享的格式
def encodeZip(fn):
"""
将不可分享的zip加密为可分享的txt
加密:修改.zip文件并对其重命名为5.txt
:param fn: 要处理文件的名称
"""
with open(fn, 'rb+') as ff:
if ff.writable():
ff.write(b'\x00')
# 修改后进行重命名为xxx5.txt
dst = fn[0:-4]+'5.txt'
os.rename(fn, dst)
def decodeTxt(fn):
"""
将无法使用的txt解密为可使用的zip压缩文件
解密:修改.zip文件并对其重命名为5.txt
:param fn: 要处理文件的名称
"""
with open(fn, 'rb+') as ff:
if ff.writable():
ff.write(b'\x50')
# 将名为为xxx5.txt 改为 xxx.zip
dst = fn[0:-5]+'.zip'
os.rename(fn, dst)
if __name__ == "__main__":
dirs = os.listdir()
for dr in dirs:
if dr[-3:] == "zip":
encodeZip(dr)
if dr[-5:] == "5.txt":
decodeTxt(dr)
Snipaste_2023-04-10_16-19-32.png (25 KB, 下载次数: 0)
下载附件
解密为zip后直接解压可查看文件
2023-4-10 16:43 上传