Python中的重新搜索产生了;无”;当使用文件作为输入时

Python中的重新搜索产生了;无”;当使用文件作为输入时,python,Python,我对堆栈溢出和一般编程非常陌生,非常感谢您提供的任何帮助 我想在Python中使用re.search函数来查找文件中的文本(这只是一种练习,因为最终我想使用re.sub和正则表达式来查找/替换)。但是我不能让它工作 例如,如果我在Python中输入以下代码: import re SearchStr = 'world' Result = re.search(SearchStr,"Hello world") print Result 我得到以下输出: 太好了 但随后我创建了一个名为“python_

我对堆栈溢出和一般编程非常陌生,非常感谢您提供的任何帮助

我想在Python中使用re.search函数来查找文件中的文本(这只是一种练习,因为最终我想使用re.sub和正则表达式来查找/替换)。但是我不能让它工作

例如,如果我在Python中输入以下代码:

import re
SearchStr = 'world'
Result = re.search(SearchStr,"Hello world")
print Result
我得到以下输出:
太好了

但随后我创建了一个名为“python_test.txt”的文件,其中包含文本“Hello world”,并运行了以下脚本:

import re
InFileName = 'python_test.txt'
InFile = open(InFileName, 'r')
SearchStr = 'world'
Result = re.search(SearchStr,InFile)
print Result
我得到以下输出:
None


如果我将最后三行替换为
infle.read()
,我会得到
'Hello world.\n'
作为输出,因此我认为我的脚本可以很好地读取文件。我还尝试在我的
re.search
术语中使用
infle.read()
而不是
infle
;那也没用。为什么我的脚本在我的文件中找不到“world”?

re.search
需要字符串作为第二个参数。不是档案。试用:

Result = re.search(SearchStr,InFile.read())

re.search
要求字符串作为第二个参数。不是档案。试用:

Result = re.search(SearchStr,InFile.read())

正确,您需要先从文件中读取。只要打开它,您就会得到一个文件对象
infle
。您需要执行某种读取操作以从文件中获取数据,然后在收集的
上运行
re.search(SearchStr,)
re.search
需要一个字符串。正确,您需要先从文件中读取。只要打开它,您就会得到一个文件对象
infle
。您需要执行某种读取操作以从文件中获取数据,然后在收集的
上运行
re.search(SearchStr,)