Input Data Not Defined
Solution 1:
If you're using Python 2.x - you want to be using raw_input - input is used for something completely different in 2.x. If you're using Python 3.x - input is correct.
On a side note, the recommended style guide is to use open for opening files, so it's not too bad you're shadowing file here, but anyone expecting to be able to use file (basically the same as open) as a function might get a shock later.
Solution 2:
This is important:
input([prompt]) -> value
Equivalent to eval(raw_input(prompt)).
Input will try to eval your input
Check this
In [38]: l = input("enter filename: ")
enter filename: dummy_file
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
C:\Python27\<ipython-input-37-b74d50e2a058> in <module>()
----> 1 l = input("enter filename: ")
C:\Python27\<string> in <module>()
NameError: name 'dummy_file' is not definedIn [39]: input /?
Type: builtin_function_or_method
Base Class: <type 'builtin_function_or_method'>String Form:<built-infunction input>
Namespace: Python builtin
Docstring:
input([prompt]) -> value
Equivalent to eval(raw_input(prompt)).
In [40]: file = raw_input("filename: ")
filename: dummy_file
In [41]: file
Out[41]: 'dummy_file'using raw_input has it's disadvantages though.
Solution 3:
You need to use raw_input instead of input.
Input docsting :
input([prompt]) -> value
Equivalent to eval(raw_input(prompt)).
The python interpreter tries to eval your input, which will fail if it is a file name.
Solution 4:
input evaluates its argument, so when you give it something like my_text_file it will try to treat that as a variable. Use raw_input instead.
(Also, using file as a variable name is a bad idea, as it is also the name of a Python built-in class. Prefer something like path, filename, f.)
Post a Comment for "Input Data Not Defined"