Code:
import urllib2 as u
import os as o
inn = \'dword.txt\'
w = open(inn)
z = w.readline()
b = w.readline()
c = w.readline()
x = w.readline
str = 'Hello World String'
print(str(10)+' Good day!!')
Even I faced issue with the above code as we are shadowing str() function.
Solution is:
string1 = 'Hello World String'
print(str(10)+' Good day!!')
While not in your code, another hard-to-spot error is when the %
character is missing in an attempt of string formatting:
"foo %s bar %s coffee"("blah","asdf")
but it should be:
"foo %s bar %s coffee"%("blah","asdf")
The missing %
would result in the same TypeError: 'str' object is not callable
.
This is the problem:
global str
str = str(mar)
You are redefining what str()
means. str
is the built-in Python name of the string type, and you don't want to change it.
Use a different name for the local variable, and remove the global
statement.
An issue I just had was accidentally calling a string
"Foo" ("Bar" if bar else "Baz")
You can concatenate string by just putting them next to each other like so
"Foo" "Bar"
however because of the open brace in the first example it thought I was trying to call "Foo"