我想加载目录中当前存在的所有文件并计算具有+和-
的文件#!/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个文件中,只有一个文件正在生成输出。其他文件导致错误
参数过多
答案 0 :(得分:0)
您需要迭代文件夹中的所有文件并检查它们的内容。尝试以下脚本:
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))