이전에는 Python Mass Editor로 알려져 있습니다
Python Code를 사용하여 Python Mass 편집기를 구현하여 텍스트 파일을 처리합니다. 수정 (들)은 stdout에서 diff 출력으로 표시됩니다. 그런 다음 -W/-쓰기 옵션으로 대상 파일을 수정할 수 있습니다. 이것은 Python 3과 함께 제공되는 2To3 도구와 매우 유사합니다.
경고 : eval() 의 사용에 대한주의 사항 |
이 도구는 진행되는 한 유용하지만 Python |
Python Re 모듈 (일반 표현식)의 기본 사항을 알아야 할 것입니다.
사용법 : massedit.py [-H] [-v] [-w] [-v] [-e expressions] [-f 함수]
[-x executables] [-s start_dirs] [-m max_depth] [-o 파일]
[-g 파일] [-인코딩 인코딩] [--newline newline]
[파일 패턴 [파일 패턴 ...]]
파이썬 질량 편집기
위치 논쟁 :
파일 패턴 쉘 유사 파일 이름 패턴 처리 또는 읽기
Stdin에서.
선택적 인수 :
-h, -help이 도움말 메시지와 종료를 보여줍니다
-v, -version show 프로그램의 버전 번호 및 종료
-w, -write 대상 파일을 수정하십시오. 그렇지 않으면 차이가 표시됩니다.
-v, -Verbose는 로그 진점을 증가시킵니다 (배수로 지정할 수 있습니다
타임스)
-E 표현, -표현식
대상 파일에 적용된 파이썬 표현. 사용하십시오
라인 변수 현재 줄을 참조 할 수 있습니다.
-f 함수, -기능 함수
대상 파일에 적용 할 파이썬 기능. 파일을 가져옵니다
입력 및 수율 라인으로 컨텐츠. 기능을 지정하십시오
[모듈] :? <기능 이름>.
-x 실행 파일, -지출 가능한 실행 파일
대상 파일에 적용하기 위해 Python 실행 파일.
-s start_dirs, -start start_dirs
대상을 찾을 수있는 디렉토리 (IES).
-m max_depth,--max-depth level max_depth
도보 하위 디렉토리를 걷 때 최대 깊이.
-O 파일, -출력 파일
파일로 출력을 리디렉션합니다
-g 파일, -생성 파일
-f 옵션에 적합한 스터브 파일을 생성하십시오
-인코딩 인코딩 입력 및 출력 파일 인코딩
-출력 파일에 대한 Newline Newline Newline 문자
예 :
# 간단한 문자열 대체 (-e). 차이를 보여줄 것입니다. 변경 사항이 적용되지 않습니다.
massedit.py -e "re.sub ( 'failif', 'assertfalse', line)" *.py
# 파일 수준 수정 (-f). 파일을 제자리에 덮어 씁니다 (-w).
massedit.py -w -f fixer : fixit *.py
# 모든 테스트를 변경합니다*.py는 테스트 하위 디렉토리에서.
massedit.py -e "re.sub ( 'failif', 'assertfalse', line)"-s tests test*.py
#은 가상 메소드 (거의)를 Gmock에 적합한 Mock_Method로 변환합니다 (https://github.com/google/googletest 참조).
massedit.py -e "re.sub (r ' s*virtual s+([ w : <>, s &*]+) s+( w+) ( ([^)]*)) s*(( w+)*) (= s*0)? g <3>, ( g <4>, Override); ', line) "gmock_test.cpp
MassEdit가 패키지로 설치된 경우 (예 : PYPI에서) 명령 줄 도구로 상호 작용할 수 있습니다.
python -m massedit -e "re.sub ( 'assertequals', 'assertequal', line)"test.py
또는 라이브러리로서 (위의 명령 줄 옵션은 Kewyord 인수로 전달 될) :
>>> 수입 대량 >>> filenames = [ 'massedit.py'] >>> massedit.edit_files (filenames, [ "re.sub ( 'Jerome', 'J.', line)"])))
마지막으로, 분포에 포함 된 Windows 용 편리한 massedit.bat 래퍼가 있습니다.
http://github.com/elmotec/massedit 에서 massedit.py 다운로드하십시오.
Python -M Pip 설치 대량
나는 다음과 같은 대형 코드베이스의 소스 수정을 위해 주로 Massedit을 사용한다는 것을 알게됩니다.
먼저 소스 코드를 처리 할 함수로 fixer.py Python 모듈을 만듭니다. 예를 들어 헤더를 추가하려면 :
def add_header (line, file_name) :
수율 '// 이것은 내 헤더입니다' #은 파일의 첫 번째 줄입니다.
라인으로 :
수율 라인
fixer.py 의 위치를 $PYTHONPATH 에 추가 한 다음 다음과 같이 massedit.py 호출합니다.
massedit.py -f fixer : add_header *.h
-s . 모든 .h 파일을 인사 적으로 처리하는 옵션.
나는 Unix 전동 공구에서 수년간 Runsed를 사용하고 확인했으며 ActiveState에서 Graham Fawcett Python Recipe 437932를 만날 때까지 창문 아래에서 좋은 대체물을 찾지 못했습니다. 그것은 대량을 쓰도록 영감을주었습니다.
핵심은 조금씩 벌어졌고 여기에 있습니다. 유용하다고 생각하고 향상되면 패치를 제출하는 것을 잊지 마십시오. 감사해요!
AWK와 같은 도구에 더 관심이 있다면 아마도 더 나은 대안이 될 것입니다.
개발을 위해 물건을 설정하려면 가장 쉬운 것은 추가 구성 개발을 파이프 설치하는 것입니다.
Python -M Venv Venv . venv/bin/활성화 Python -m Pip 설치 -E. [개발]
가장 좋은 것은 커밋을 수행 할 때 Commitizen을 사용하는 것입니다.
MIT 라이센스 기간에 따라 라이센스. 첨부 된 파일 라이센스 .txt를 참조하십시오.
0.69.0 이하의 변경 사항은 changelog.md를 참조하십시오
https://github.com/myint https://github.com/tgoodlet https://github.com/alfnet https://github.com/isidroas