2013-10-12 2 views
0

Это мой код. когда я запускаю его, он просто выходит после запуска. Нет ничего печатного. Почему так ?Нет вывода в командной строке python

def checkString(filename, string): 
    input = file(filename) # read only will be default file permission 
    found = False 
    searchString = string 
    for line in input: 
     if searchString in line: 
      found = True 
      break 

if callfunc == 'initialize': 
    print listdir() #this will print list of files 
    print "\n" 

for files in listdir(): 
    checkString(files,"hello") 

if found: 
    print "String found" 
else: 
    print "String not found" 
input.close() 
+0

@erjoalgo, извините. Его репай/сиэтл. listdir - встроенная функция, которая перечисляет каждый файл в текущем каталоге. – Hardik

ответ

0

found является локального имени в функции checkString(); он остается локальным, потому что вы его не возвращаете.

Возвращение переменной из функции и сохранить возвращаемое значение:

def checkString(filename, string): 
    input = file(filename) # read only will be default file permission 
    found = False 
    searchString = string 
    for line in input: 
     if searchString in line: 
      found = True 
      break 
    return found 

for files in listdir(): 
    found = checkString(files,"hello") 
    if found: 
     print "String found" 
    else: 
     print "String not found" 
0

Вам нужно изменить, чтобы:

def checkString(filename, string): 
    input = file(filename) # read only will be default file permission 
    found = False 
    searchString = string 
    for line in input: 
     if searchString in line: 
      found = True 
      break 

    input.close() 
    return found 

found = False 

if callfunc == 'initialize': 
    print listdir() #this will print list of files 
    print "\n" 

for files in listdir(): 
    found = found or checkString(files,"hello") 

if found: 
    print "String found" 
else: 
    print "String not found" 

Это происходит потому, что в исходном found только в рамках в рамках функции checkString

Смежные вопросы