pythonstring

NameError: name 'book' is not defined


This is my piece of code:

#!/usr/bin/python 

from xml.etree.ElementTree import ElementTree
from array import *
#import re

count = array('i',[0,0,0])

def find_root_tags(file,str1,i):

    tree = ElementTree()
    tree.parse(file)
    root = tree.getroot()
    if root == str1:
        count[i] = count[i]+1

    for j in tree.getiterator(str1):
        count[i] = count[i] + 1

    print "%dth file's count %d" % (i,count[i])


str1 = input("enter the word to be searched:")
fo = open("xml.txt","r")

for i in range(count.__len__()):

    file = fo.readline()
    find_root_tags(file,str1,i)

fo.close()

it's giving me this error on running my code:

enter the word to be searched:book

Traceback (most recent call last):

File "keywords.py", line 23, in <module>

str1 = input("enter the word to be searched\n")

File "<string>", line 1, in <module>

NameError: name 'book' is not defined

why?


Solution

  • input() acts like eval(raw_input()) for Python 2:

    input(...)
        input([prompt]) -> value
    
        Equivalent to eval(raw_input(prompt)).
    

    You're probably looking for raw_input()