从函数调用中获取值并在python中的函数中使用它们
这是一个包含许多文件的目录。我将这些文件存储在列表b中。 我想提取每个文件中都有名称的文件 我想打开一个文件,它的内容是一个字符串apple。这个苹果词是通过参数传递的从函数调用中获取值并在python中的函数中使用它们,python,Python,这是一个包含许多文件的目录。我将这些文件存储在列表b中。 我想提取每个文件中都有名称的文件 我想打开一个文件,它的内容是一个字符串apple。这个苹果词是通过参数传递的 问题是我不明白如何读取该值并在if条件下使用相同的字符串。您可以使用以下代码: def fun(EACH) : list1 = [] EACH = str(EACH) for all in a: # contains names of different checks for f
问题是我不明白如何读取该值并在if条件下使用相同的字符串。您可以使用以下代码:
def fun(EACH) :
list1 = []
EACH = str(EACH)
for all in a: # contains names of different checks
for files in b :
for line in open(str(files)) :
if EACH in line :
print files
break
你真的需要逐行解析每个文件吗?你就不能做点像:
def grepFileForLines( self, fileName = "", keepLinesWith = "" ):
file = open( fileName, 'r' )
matches = []
for line in file:
if line.find( keepLinesWith ) > -1:
matches.append( line )
return matches
开放的。。。像是为了确保您的文件在读取后关闭…什么是a和b,为什么a在那里,您似乎没有使用它做任何事情?请修复缩进以匹配您的实际代码。这根本不会运行。a是一个目录,我只复制了代码的一部分。。a是一个用于存储目录路径的列表,b用于保存该目录中的所有文件。除非在类中,否则该文件不应用作变量名,否则它将不起作用;打开文件后,您永远不会关闭它。您可以将line.findkeepLinesWith替换为if keepLineswith in line:还可以查看您是否只是复制了自己的代码,而没有查看问题和原始代码?顺便说一句,括号周围不应该有空格。因此,与grepFileForLines self、fileName=、keepLinesWith=不同,它应该是grepFileForLines self、fileName=、keepLinesWith=。请仔细学习pep8!问题是我无法从参数中读取每个参数。。即使您的代码也必须从传递给函数的参数中读取每个参数。如何使用该参数以及如何在if条件中使用该参数OK,函数是什么?它的论点是什么?为什么你看不懂?请更新您的问题。这是一个小错误,现在已解决。谢谢你的帮助。
for b in a:
for fname in b:
with open(fname, "r") as f:
content = f.read()
if EACH in content:
print "There's a {0} in {1}".format(EACH, fname)