变量中的Python If变量
我制作了一个名为变量中的Python If变量,python,file,filereader,Python,File,Filereader,我制作了一个名为helloworld.simon的文件。 我在信中写道: Public class helloworld { main = (main.method()); main { console.print("Hello World"); } 我写了这段代码: Public = ("Public") Private = ("Private") code = open('helloworld.simon' , 'r') print(code.read()) if Publ
helloworld.simon
的文件。
我在信中写道:
Public class helloworld {
main = (main.method());
main {
console.print("Hello World");
}
我写了这段代码:
Public = ("Public")
Private = ("Private")
code = open('helloworld.simon' , 'r')
print(code.read())
if Public in code:
print("Pub")
else:
print("J")
输出为:
更改此行:
code=open('helloworld.simon','r')
为此:
with open('helloworld.simon' , 'r') as f:
lines = f.readlines()
if any([line for line in lines if Public in line]):
print("Pub")
else:
print("J")
文件读取是顺序的。读取文件(使用
print(code.read())
后,除非使用code.seek(0)
产出:
Pub
如果你评论
code.seek(0)
,输出J你的问题是什么?它打印了J
,这是个愚蠢的问题!lolHint:中的应该用于字符串对象,而不是文件对象。@Kevin但是我如何将文件对象转换为字符串对象?这仍然打印“J”,不是吗?在[“Public class helloworld{\n”中的“Public”,…]
的计算结果仍然为False。@Kevin这不会打印“J”奇怪,它会在我的机器上打印“J”。@Kevin-Hmm…我应该指定我使用的是Python 3.43.5。如果执行打印(行)
,你会看到什么?我得到['Public class helloworld{\n',main=(main.method());\n',main{\n',console.print(“Hello World”);\n','}]
。
Public = ("Public")
Private = ("Private")
code = open('helloworld.simon' , 'r')
print(code.read())
code.seek(0)
if Public in code.read():
print("Pub")
else:
print("J")
code.close()
Pub