a=("Hello")
f = open("hello.csv","a")
f.write(a)
g=str.find(a)
if g== (True):
print("True")
f.close()
这段代码无法正常显示find()需要一个参数,而当我清楚地说明一个是(" Hello")时,会给出0;
答案 0 :(得分:2)
在Python中:
Class.method(instance)
相当于
instance.method()
str
是一个类,因此str.find(a)
相当于a.find()
,这显然缺少要找到的第二个字符串:
>>> "hello".find()
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
"hello".find()
TypeError: find/rfind/index/rindex() takes at least 1 argument (0 given)
>>> str.find("hello")
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
str.find("hello")
TypeError: find/rfind/index/rindex() takes at least 1 argument (0 given)
>>> "hello".find("e")
1
>>> str.find("hello", "e")
1
你需要指定两个字符串 - 一个要查看,一个要查找,要么是look_in.find(to_find)
,要么是str.find(look_in, to_find)
(前者更常规,读取更好)。
此外,您应该只写if g== (True):
而不是if g:
。看看the style guide。
答案 1 :(得分:0)
尝试这样:
a = "Hello" # no need of brackets
f = open("hello.csv","a")
f.write(a)
f.close()
f = open("hello.csv","r")
f = f.read()
if f.find(a)>0: # find returns position of substring if found else -1
print True
f.close()
答案 2 :(得分:0)