Python 读取目录中的所有文件,并根据其内容对其进行计数
我想加载目录中存在的所有文件,并计算具有+和的文件数-Python 读取目录中的所有文件,并根据其内容对其进行计数,python,Python,我想加载目录中存在的所有文件,并计算具有+和的文件数- #!/usr/bin/python import re import sys def run(body): bang = len(re.findall('\n\s{,1}!', body)) minus = len(re.findall('\n\s{,1}-[^-]', body)) plus = len(re.findall('\n\s{,1}\+[^\+]', body)) rs = "(+:%d
#!/usr/bin/python
import re
import sys
def run(body):
bang = len(re.findall('\n\s{,1}!', body))
minus = len(re.findall('\n\s{,1}-[^-]', body))
plus = len(re.findall('\n\s{,1}\+[^\+]', body))
rs = "(+:%d) (-:%d) (!:%d)" % (plus, minus, bang)
return rs
f = open("", 'r')
a = f.read()
print(sys.argv[1], run(a))
在1000个文件中,只有一个文件生成输出。其他文件导致一个名为
太多的args
您需要迭代文件夹中的所有文件并检查其内容。请尝试以下脚本:
import os
import re
import sys
def run(body):
bang = len(re.findall('\n\s{,1}!', body))
minus = len(re.findall('\n\s{,1}-[^-]', body))
plus = len(re.findall('\n\s{,1}\+[^\+]', body))
rs = "(+:%d) (-:%d) (!:%d)" % (plus, minus, bang)
return rs
for root, _, files in os.walk(".", topdown=False):
for name in files:
f = open("os.path.join(root, name)", 'r')
a = f.read()
print("%s" % run(a))