이미 파이썬에 관한 첫 번째 사실을 알고 있다면 이미 답변 된 다른 유사한 질문을 참조하여이 사실을 직접 알았을 것입니다. 방법 중 그와 디렉토리의 모든 파일에 대해 IP 주소를 파이썬의 파일 이름으로 바꿉니다.
, 난 당신이 나에게 다음 사항을 달성 할 수 바라고 있어요 : 나는 IP 파일 이름 자체 주소, 디렉토리에, 인라인 모든 항목을 대체 할 찾고 있어요.
은의, 즉, 샘플 파일 이름이"jb-nnnn-xy"
될 것입니다 내 모든 파일이 확장자가없는
D:\super\duper\directory\
파일에 있다고 가정 해 봅시다.
" TCPHOST = 72.163.363.25"
그래서 전체, 수천 개의 파일이 있습니다 : 파일에 IP 주소의 언급이 여러 개인 경우에도 , 나는 (따옴표없이) 같이 보입니다 만 라인 교체에 관심이 있어요 이 디렉토리는 하드 코딩 된 IP 주소가 거의 없습니다.
그리고 관심의 라인은 마지막으로 다음과 같아야합니다
"jb-yyyy-nz"
이 파일 자체
이 시간 내 주셔서 대단히 감사하고 도움의 이름입니다 " TCPHOST = jb-yyyy-nz"
!
편집 : 나는 밖으로 시도하고 다른 게시물에서 코드의 단지 뒤범벅 매시 ..
from __future__ import print_function
import fnmatch
import os
from fileinput import FileInput
import re
ip_addr_regex = re.compile(r'\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b')
def find_replace(topdir, text):
for dirpath, dirs, files in os.walk(topdir, topdown=True):
files = [os.path.join(dirpath, filename) for filename in files]
for line in FileInput(files, inplace=True):
print(line.replace(text, str(filename)))
find_replace(r"D:\testmulefew",ip_addr_regex)
직접 코드를 작성해 보았습니까? 그렇다면 보여 주실 수 있습니까? –
내가 시도하는 코드로 메인 포스트를 업데이트했습니다 ... 함수에 "예상 된 문자 버퍼 오브젝트"오류가 있습니다. 반복적으로 실행했을 때마다 시도 할 때마다 하나씩 파일을 숨 깁니다. – oompaloompa