python 비교 디렉토리와 관련된 stackoverflow에서 많은 질문을 읽었습니다. 그러나, 내 현재의 질문은 조금 다릅니다.
두 개의 다른 버전 릴리스 패키지 내용이 들어있는 두 개의 디렉터리가 있습니다. 이제 내용이 동일한 지 비교하기 위해 비교하고 싶습니다. 그러나 파일에는 버전 이름이 들어 있지 않은 파일이 거의 없습니다. 이제는 파일을 비교하고 결론을내는 최상의 방법입니다 (버전 차이는 제외하고 모든 파일이 일치 함).python - 두 디렉토리를 재귀 적으로 비교하고 등가 구조 플래그 지정
:
버전 V1R1C1는 V2R3C1이 구조
pmt> find . -name "*"
.
./c1
./c1/c2
./c1/c1_V2R3C1.cfg
./a1
./a1/a1_V2R3C1.cfg
./a1/a2
./a1/a2/a1a2_V2R3C1.cfg
./b1/a_best_file.txt
./b1/b2/a_test_file.txt
./b1/b2/b1b2_V2R3C1.cfg
./a_V2R3C1.cfg
,369 이하로 포함 할 수있다
pmt> find . -name "*"
.
./c1
./c1/c2
./c1/c1_V1R1C1.cfg
./a1
./a1/a1_V1R1C1.cfg
./a1/a2
./a1/a2/a1a2_V1R1C1.cfg
./b1/a_best_file.txt
./b1/b2/a_test_file.txt
./b1/b2/b1b2_V1R1C1.cfg
./a_V1R1C1.cfg
버전 아래와 같이 디렉토리 구조를 포함
위의 경우, 프로그램은 equivalent 구조로 플래그해야합니다.
예를 들어, 디렉토리 구조를 캐시 (dict)로 읽어 들이고 버전 정보를 추출한 후 비교하는 등 몇 가지 해결책을 생각해 볼 수 있습니다.하지만 두 가지 이유 때문에 완전히 효과적인 메커니즘이 아님 1. inbuilt 디렉토리를 사용하지 않습니다 2.The 여러 읽기/찢어/비교 (특히 거대한 디렉토리 트리 구조와 비용)에 바인딩됩니다 비교할 수 있습니다.
나는 위의 것보다 간단하고 효율적인 아이디어를 찾고 있습니다.
PS : (위의 예와 달리 버전 제외) 차이의 경우
1. 내가 diffed 목록을 얻기 위해 좌/우 등을 사용하고 싶습니다.
2. 두 디렉토리 모두에서 버전 이름 인 것으로 가정 할 수 있습니다 (첫 번째 경우에는 V1R1C1, 두 번째 경우에는 V2R3C1과 같음).
'diff'를 사용했을까요? 이것은 무엇을 위해 설계되었습니다. diff 유형 출력에 대한 Python 구현도 있습니다. –