2012-07-13 3 views
0

특정 키워드가 포함 된 줄을 인쇄하려고합니다. 둘 다 같은 줄에 있어야 인쇄 할 수 있습니다.x와 y가있는 경우에만 python이 한 줄을 인쇄합니다.

이것은 내가이 문제에 접근 한 방법이며, 2 개의 변수를 만들고 변수를 할당했습니다. 그 중 하나는 파일 이름이며 프로그램이 목록을 반복 할 때마다 변경됩니다.

for files in myfiles: 
     for lines in info: 
      if dir_key and files in lines: 
         print lines 
      else: 
       print "line not found" 

이 방법은 작동하지만 문제는 파일 이름 만 포함하는 줄도 인쇄한다는 것입니다. 어떻게하지 않는지 어떻게 확신합니까? 시도해 보았습니다.

if line.beginswith(dir_key) and line.endswith(file) 

그러나 그 결과는 아무런 결과도 얻지 못했습니다. 그래서 나는 첫 번째 방법으로 바꾸었다. 아마도

답변

5

: dir_key이 빈 문자열이 아닌 것처럼

if dir_key in lines and files in lines: 

dir_key이 문자열 인 경우, 다음 테스트 if dir_key:는 한 True 될 것입니다. 그래서 총 테스트는 당신이 지금 dir_keytruthiness이 아니라 그 dir_keylines에 확인되는 것을 if True and (files in lines):

2

가장 가능성이 상당하다. 변경

if dir_key and files in lines: 
#to 
if dir_key in lines and files in lines: 
관련 문제