Files
ctbjrj/tools/check_venv_diff.py

35 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
# 对比源 ku 与 release ku 的文件清单,确认差异仅为 __pycache__/*.pyc 排除
import os
SRC = r"C:\Users\099978\Documents\SharpDevelop Projects\成套报价软件\成套报价软件\ku"
DST = r"C:\Users\099978\Documents\SharpDevelop Projects\成套报价软件\release\成套报价软件\ku"
def scan(root):
result = set()
for dirpath, dirnames, filenames in os.walk(root):
rel = os.path.relpath(dirpath, root)
for f in filenames:
p = os.path.normpath(os.path.join(rel, f))
result.add(p)
return result
src = scan(SRC)
dst = scan(DST)
only_src = sorted(src - dst)
only_dst = sorted(dst - src)
pycache_related = [p for p in only_src if "__pycache__" in p or p.endswith(".pyc")]
other_src = [p for p in only_src if p not in pycache_related]
print("源文件数:", len(src), " release文件数:", len(dst))
print("仅源有(共%d): __pycache__/.pyc 类 %d 个, 其他 %d 个" % (len(only_src), len(pycache_related), len(other_src)))
for p in other_src[:20]:
print(" [缺失!]", p)
print("仅release有(共%d):" % len(only_dst))
for p in only_dst[:20]:
print(" [多余!]", p)
if not other_src and not only_dst:
print("\n结论: 差异全部是 __pycache__/*.pyc 排除(make_package.py 刻意设计), .venv 完整")