上传 7z 输出改临时目录 (Android Download 写入受限) + 透传日志; 重编 sz-tui

This commit is contained in:
lou
2026-08-10 19:51:57 +08:00
parent c7c46c2538
commit f1c1037228
+6 -6
View File
@@ -13,6 +13,7 @@ import os
import shutil import shutil
import subprocess import subprocess
import sys import sys
import tempfile
from pathlib import Path from pathlib import Path
from urllib import request as urlrequest from urllib import request as urlrequest
@@ -103,13 +104,12 @@ def upload() -> None:
chunk_size = _clean(input("卷大小 MB [10]: ")) or "10" chunk_size = _clean(input("卷大小 MB [10]: ")) or "10"
print("\n[1/3] 7z 压缩 (-mx=9) ...") print("\n[1/3] 7z 压缩 (-mx=9) ...")
src7z = path + ".7z" # 输出到临时目录 (Android 公共目录如 Download 写入受限, errno=1)
r = subprocess.run( src7z = os.path.join(tempfile.gettempdir(), os.path.basename(path) + ".7z")
["7z", "a", "-mx=9", "-bd", src7z, path], r = subprocess.run(["7z", "a", "-mx=9", "-bd", src7z, path])
capture_output=True, text=True,
)
if r.returncode != 0: if r.returncode != 0:
print(f"[错误] 7z 压缩失败: {r.stderr[-300:]}") os.remove(src7z)
print("[错误] 7z 压缩失败")
return return
print(f"[1/3] 压缩完成: {os.path.getsize(path) / 1048576:.1f} MB -> {os.path.getsize(src7z) / 1048576:.1f} MB") print(f"[1/3] 压缩完成: {os.path.getsize(path) / 1048576:.1f} MB -> {os.path.getsize(src7z) / 1048576:.1f} MB")