일련의 디렉토리 (약 3 레벨 깊이)를 반복적으로 순환하려고합니다. 각 디렉토리에는 일련의 텍스트 파일이 있습니다. 예를 들어 줄에 특정 문자열이 들어 있으면 텍스트 줄을 디렉토리 경로로 대체하려고합니다.서브 디렉토리의 모든 파일을 파이썬으로 편집하십시오.
/path/to/text/file/fName.txt
fName.txt 텍스트의 FNAME의 라인은 내가 '텍스트'로이 라인을 대체 할 '문자열 1'문자열이 포함 된 경우 파일 경로의 마지막 부분입니다 + 파일.
이것은 파이썬에서는 쉬워야 만하는 것처럼 보이지만 관리 할 수없는 것 같습니다.
편집 : 매우 심하게 작성된 질문에 대한 사과, 나는 서둘러야했고, 진입해서는 안됩니다.
는 여기에 지금까지
import os
for dirname, dirs, files in os.walk("~/dir1/dir2"):
print files
for fName in files:
fpath = os.path.join(dirname, fName)
print fpath
f = open(fpath)
for line in f:
#where I'm getting stuck
s = s.replace("old_txt", "new_txt")
#create new file and save output
내가에 붙어지고있어 무엇 라인의 섹션에 따라 전체 라인을 교체하는 방법입니다 무슨이다. 예를 들어 라인이
That was a useless question,
내가 원하는 것을 대체 할 수없는 것 같습니다. 내가하려는 것은 '쓸모없는'것을 찾는 데서 만 전체 라인을 바꾸는 것이다. 또한 전체 파일을 다시 쓰는 것보다 한 줄을 수정하는 더 좋은 방법이 있습니까?
감사합니다.
로 (테스트 후, 조심스럽게)
이
with open(...) as f:
각 파일을 구문 분석을 분석하고 그것을 덮어 필요합니까? 즉 일부 코드 게시 ... 파일 영감을 얻으려면 [pleac] (http://pleac.sourceforge.net/pleac_python/directories.html)을 참조하십시오. –