我最近开始学习python,需要一些帮助。我想将目录中的第一个文件与同一目录中的其他文件进行比较。我最近学习了循环,所以我想做这个项目只使用循环,没有像交叉点,我发现使用谷歌花哨的功能。你知道吗
这是我目前的代码。我遇到的问题是如何实现计数器。我想计数器增加1后,前两个文件已比较。在我看来,这将允许将第一个文件与目录中的第三个文件进行比较。你知道吗
最终我想要有两个计数器,一个用于第一个文件,一个用于第二个文件。将第一个文件与目录中的所有文件进行比较后,第一个文件计数器将增加1,循环将重新启动,现在第二个文件将与文件3、然后是文件4进行比较,依此类推。。等等。你知道吗
谢谢你的帮助!你知道吗
path = ("/my/dir/")
files = os.listdir( path )
number_files = len(files)
while (n < (number_files)):
count = 1
file1 = open(path+files[0], 'r')
file1read = file1.read().splitlines()
file2 = open(path+files[count], 'r')
file2read = file2.read().splitlines()
for i in file1read:
for j in file2read:
if i == j:
print (os.path.basename(file1.name)+"_"+os.path.basename(file2.name)+" have {} in common".format(j))
count = count + 1
n = n + 1
else:
count = count + 1
n = n + 1
首先,注意
listdir()
返回文件夹中的所有文件和文件夹。可以改用os.walk(),它返回一个包含3个值的元组,其中第三个值包含文件名。第二个问题是在while循环中声明变量count
并用1初始化,因此每次再次进入循环时,它都会重置为1。你应该在while循环之前移动它。你知道吗相关问题 更多 >
编程相关推荐