2014-02-18 1 views
0

나는 분할에 적합하지 않은 텍스트 파일을 가지고 있으며 각 파일의 경로와 파일 이름을 인쇄하려고합니다.파일에서 경로 및 파일 이름 찾기 및 인쇄

라인은 다음과 같이 할 수 있습니다 등등

"sometextC:\folder\folder\filename.exesometext" 
"sometext C:\folder\filename.exe sometext" 

와 ...

내가 이런 걸 원하는 :

for line in inputFile.readlines(): 
    hit = find everything between C:\ and .exe 
    print hit 

출력은 다음과 같아야합니다

C:\folder\folder\file.exe 
C:\folder\file.exe 

WHERE 폴더 a nd 파일은 텍스트에있는 내용으로 변경됩니다. 미안 처음 게시가 약간 불투명하다. 학부모 전화 번호 등은 많이 다를 수 있습니다.

감사합니다.

+0

는 당신이 우리를 보여줄 수 경로를 인쇄 할

for path in re.finditer("(C:\Users\Default\thanks.exe)", contents): print path 

사용할 수 있습니까? –

+0

http://techtavern.wordpress.com/2009/04/06/regex-that-matches-path-filename-and-extension/ – user3323307

답변

2

첫 번째 근사값으로, 경로 일 수있는 것을 찾기 위해 re.finditer을 사용할 수 있습니다. 아래의 예는 유효한 경로가없는 것들과 일치 할 수 있습니다 (내가 Windows에서 경로에 대한 규칙에 대한 강한 아니에요, 그래서 당신이 당신이 철저하게 원하는 것을 것을 테스트해야합니다) :

contents = inputFile.read() 
for path in re.finditer("(C:\\.*?\.exe)", contents): 
    print path 
+0

re.finditer ("(C : \\\. *? \ .exe) ", 내용) : 인쇄 경로 : <_sre.SRE_Match object at 0x1234567>을 내게 알려주었습니다. 내가 찾은 파일 이름으로 모든 경로를 출력하고 싶다. – user3323307

+0

print.groups()를 사용하여 원하는 결과를 얻었습니다. 그냥 스트립을 사용하여이 문제를 해결할 수 있다고 생각합니다. 가능하다면 나에게이 "one-liner"를 제공하십시오. 고마워! – user3323307

0

당신이 할 수있는 당신이 사용하고 정규 표현식의 어떤 종류의

관련 문제