python3中 for line1 in f1.readlines():,for line1 in f1:,循环读取一个文件夹

 1 #-*- encoding:utf-8 -*-
 2
 3 class loadDatas(object):
 4     def __init__(self):
 5         self.path=‘./data‘
 6     def load_compare(self):
 7         l1={}
 8         f1=open(self.path+‘/95b.txt‘,encoding=‘utf-8‘)
 9         l2={}
10         f2=open(self.path+‘/05b.txt‘,encoding=‘utf-8‘)
11         f=open(self.path+‘/1.txt‘,‘a‘)
12         # w2=open(‘./data/1.txt‘,‘a‘)
13
14             # flag=1
15         str1=[]
16         # print(type(str1))
17         for line2 in f2.readlines():
18
19             (tag2,name)=line2.strip().split("  ")
20             flag=0
21             for line1 in f1.readlines():
22                 (tag1,name)=line1.strip().split("  ")
23                 print(tag1)
24                 if tag2==tag1:
25                     print("a")
26                     flag=0
27                     break
28                 else:
29                     print(‘d‘)
30                     flag=1
31                     # break
32             # print("aa")
33             if flag==1:
34                 # print("aa")
35                 str1.append(line2)
36         print(str1)
37         f.writelines(str1)
38
39         f1.close()
40         f2.close()
41         f.close()
42
43 if __name__==‘__main__‘:
44     ld=loadDatas()
45     ld.load_compare()

结果:

ADR
a
[]
[Finished in 0.2s]

循环读取一个文件:

f1.seek(0)

 1 #-*- encoding:utf-8 -*-
 2
 3 class loadDatas(object):
 4     def __init__(self):
 5         self.path=‘./data‘
 6     def load_compare(self):
 7         l1={}
 8         f1=open(self.path+‘/95b.txt‘,encoding=‘utf-8‘)
 9         l2={}
10         f2=open(self.path+‘/05b.txt‘,encoding=‘utf-8‘)
11         f=open(self.path+‘/1.txt‘,‘a‘)
12         # w2=open(‘./data/1.txt‘,‘a‘)
13
14             # flag=1
15         str1=[]
16         # print(type(str1))
17         # int i
18         for line2 in f2:
19             print(line2)
20             (tag2,name)=line2.strip().split("  ")
21             flag=0
22             for line1 in f1:
23             # 读完一次循环后,line1已经到底了,第2次循环便不进入;
24             # f1.readlines()只能进入一次,一次读取整个文件;
25
26                 (tag1,name)=line1.strip().split("  ")
27                 print(tag1)
28                 if tag2==tag1:
29                     print("a")
30                     flag=0
31                     break
32                 else:
33                     print(‘d‘)
34                     flag=1
35                     # break
36             # print("aa")
37             if flag==1:
38                 # print("aa")
39                 str1.append(line2)
40             f1.seek(0)
41         print(str1)
42         f.writelines(str1)
43
44         f1.close()
45         f2.close()
46         f.close()
47
48 if __name__==‘__main__‘:
49     ld=loadDatas()
50     ld.load_compare()
时间: 2024-08-01 10:21:27

python3中 for line1 in f1.readlines():,for line1 in f1:,循环读取一个文件夹的相关文章

C++实现从一个文件夹中读出所有txt文件

前段时间做项目需要读取一个文件夹里面所有的txt文件,查询资料后得到以下实现方法:首先了解一下这个结构体struct _finddata_t {    unsigned    attrib;    time_t      time_create;       time_t      time_access;       time_t      time_write;    _fsize_t    size;    char        name[260];};其中各成员变量的含义如下:unsi

把模块有关联的放在一个文件夹中 在python2中调用文件夹名会直接失败 在python3中调用会成功,但是调用不能成功的解决方案

把模块有关联的放在一个文件夹中 在python2中调用文件夹名会直接失败在python3中调用会成功,但是调用不能成功 解决办法是: 在该文件夹下加入空文件__init__.py python2会把该文件夹整体当成一个包 然后编辑__init__.py 加入__all__ = ["功能名1","功能名2",...../或者类名也行] 再通过from . import 模块名 这样就可以调用包中那些模块功能了 #如果导入这个模块的方式是 from 模块名 import

python移动多个子文件中的文件到一个文件夹

1 import os 2 import os.path 3 import shutil 4 5 def listDir(dirTemp): 6 if None == dirTemp: 7 return 8 global nameList 9 if not os.path.exists(dirTemp): 10 print "file or directory isn't exist" 11 return 12 13 if os.path.isfile(dirTemp): 14 if

用C语言实现统计一个文件夹中各种文件的比例

<UNIX环境高级编程>中的程序清单4-7就介绍了如何实现递归地统计某个目录下面的文件!我刚开始看过它的代码后,觉得照着敲太没意思了,所以就合上书自己写了一遍!为此还写了一篇博文,这是博文地址:在linux下用C语言实现递归查看某个目录中的所有文件[CSDN]! 今天做<Unix环境高级编程>的课后题,看到题目4.11这里提供了一种新的实现这个程序的思路,那就是每回读到一个目录,就通过chdir函数进入到这个目录,然后再通过opendir函数和readdir函数来读取这个目录中的文

用Java实现将多级文件夹下的所有文件统一放到一个文件夹中

每次下了电影(男生懂得呦),每部电影都放在一个单独的文件夹里,看的时候很是不方便啊,一直重复着进入文件夹.后退,再进.再退的操作,而手动把这些电影全部复制出来又太繁琐.因此为了解决这个问题,用IO写了一个小工具. 以下代码只实现了把多级文件夹下的所有文件复制到一个文件夹中,如果需要指定复制文件的格式,可以在1111处添加一个判断.如果需要同时删除原文件夹可以在添加一个递归删除的方法. package Bao; import java.io.BufferedInputStream;import j

nodejs如何加载一个文件夹中的js文件

一般情况下,使用nodejs加载一个模块是这样,require("js文件路径"),其中路径可以省略掉js后缀 如果要加载一个文件夹下的所有模块,可以这样使用 var ccc=require("./c"); 其中c文件夹下有a和b,index三个js,默认会加载index.js,此时只需要在index.js中定义好module,则就可以直接调用a或者b文件中的方法,具体代码如下 测试文件multifileTest.js var ccc=require(".

黑马程序员——IO——读取一个文件中的文字输出到控制台上

读取一个文件中的文字输出到控制台上 import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; //读取一个文件中的文字 ,输出到控制台上 //读取的是字符文字,因此可以使用字符流来操作 public class FileReaderDemos { public static void main(String[] args) { // TODO Auto-generate

Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.Simple

获取列表中某一个文件夹下的列表项集合(不包含子文件夹对象,也不包含子文件夹中的列表项)

RT,方法如下: 1 SPListItemCollection GetSubItemsWithoutFoldersInParrentFolder(SPFolder parrent) 2 { 3 SPList list = parrent.Item.ParentList; 4 SPQuery query = new SPQuery(); 5 query.Folder = parrent; 6 query.Query = "<Where><Eq><FieldRef Na