35 lines
1.3 KiB
Python
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 完整")
|