微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从目录访问相同的命名文件

如何解决从目录访问相同的命名文件

我有两个目录,其中包含具有相同名称的文本文件。尽管文件名相同,但是它们包含不同的数据,我想一次从两个目录访问相同的命名文件,并希望进行一些计算。为了进行测试,我编写了以下代码,但是循环一次无法访问相同的命名数据文件。它从两个目录中选择了随机文本文件。有人可以建议我如何通过以下代码访问相同的命名文件吗?

nb:我必须访问近1000个文件

import glob
data1=glob.glob('/home/liu/Music/datafiles1/*.txt')
data2=glob.glob('/home/liu/Music/datafiles2/*.txt')
for files in data:
    print(files)
    
    for file in data2:
        print(file)

解决方法

您知道dir2中的文件名与dir1中的文件名相同,因此您无需列出两个目录。只需将找到的文件名附加到第二个目录即可。

from pathlib import Path

dir1 = Path('/home/liu/Music/datafiles1')
dir2 = Path('/home/liu/Music/datafiles2')

for filepath1 in dir1.glob('*.txt'):
    filepath2 = dir2 / filepath1.name
    print(filepath1,filepath2)
,

您是要写:

import glob
data1=glob.glob('/home/liu/Music/datafiles1/*.txt')
data2=glob.glob('/home/liu/Music/datafiles2/*.txt')
for files in zip(data1,data2):
    f1,f2 = files
    print(f1,f2)

您的嵌套循环方案意味着data2变得筋疲力尽。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。