逐行比较第一个文件和其余文件-python初学者

时间:2018-09-07 17:24:57

标签: python

我最近开始学习python,请寻求帮助。我想将目录中的第一个文件与同一目录中的其他文件进行比较。我最近了解了循环,因此我想只使用for循环而不使用像Google那样的交叉点这样的花哨功能来做这个项目。

到目前为止,这是我的代码。我遇到的问题是实现计数器。在比较前两个文件后,我希望计数器增加1。在我看来,这将允许将第一个文件与目录中的第三个文件进行比较。

最终,我希望有两个计数器,一个用于第一个文件,另一个用于第二个文件。一旦将第一个文件与目录中的所有文件进行比较,第一个文件计数器将增加1,并且循环将重新开始,现在将第二个文件与文件3,然后是文件4等进行比较,依此类推。 / p>

感谢您的帮助!

public ContactGroup FindGroupByName(string groupName, FolderId folderId)
{
    ItemView groupView = new ItemView(10);
    SearchFilter groupClassFilter = new SearchFilter.IsEqualTo(ItemSchema.ItemClass, "IPM.DistList");
    SearchFilter groupNameFilter = new SearchFilter.IsEqualTo(ContactGroupSchema.DisplayName, groupName);
    SearchFilter groupFilter = new SearchFilter.SearchFilterCollection(LogicalOperator.And) { groupClassFilter, groupNameFilter };

    FindItemsResults<Item> groupFindResult = _service.FindItems(folderId, groupFilter, groupView);

    if (groupFindResult.Items.Count == 1)
    {
        var group = (ContactGroup)groupFindResult.Items[0];
        ContactGroup contactGroup = ContactGroup.Bind(_service, group.Id);
        return contactGroup;
    }
    return null;
}

1 个答案:

答案 0 :(得分:0)

首先,请注意listdir()返回文件夹中的所有文件和文件夹。您可以使用os.walk()来返回一个元组,该元组包含3个值,第三个值包含文件名。第二个问题是,您在while循环中声明了变量count并将其初始化为1,因此,每次再次进入该循环时,它将重置为1。您应该将其移至while循环之前。