pytyhon脚本,找出两个文件夹相同文件名
时间: 2023-12-09 07:05:57 浏览: 30
以下是使用 Python 编写的脚本,用于找出两个文件夹中具有相同文件名的文件:
```python
import os
folder1 = '/path/to/folder1'
folder2 = '/path/to/folder2'
files1 = set(os.listdir(folder1))
files2 = set(os.listdir(folder2))
common_files = files1.intersection(files2)
for file in common_files:
print(file)
```
这个脚本首先使用 os.listdir() 函数获取两个文件夹中的所有文件名,并将它们转换为集合类型。然后,使用 intersection() 方法找出两个集合中的交集,也就是具有相同文件名的文件。最后,使用 for 循环打印出这些文件名。
请将 "/path/to/folder1" 和 "/path/to/folder2" 替换为实际的文件夹路径。
相关问题
找出两个文件夹同前缀名的文件的python脚本
以下是使用 Python 编写的脚本,用于找出两个文件夹中具有相同前缀名的文件:
```python
import os
folder1 = '/path/to/folder1'
folder2 = '/path/to/folder2'
prefixes1 = set([f.split('.')[0] for f in os.listdir(folder1)])
prefixes2 = set([f.split('.')[0] for f in os.listdir(folder2)])
common_prefixes = prefixes1.intersection(prefixes2)
for prefix in common_prefixes:
files1 = [f for f in os.listdir(folder1) if f.startswith(prefix)]
files2 = [f for f in os.listdir(folder2) if f.startswith(prefix)]
print(f"Common files with prefix '{prefix}':")
for file in set(files1).intersection(files2):
print(file)
```
这个脚本首先使用 os.listdir() 函数获取两个文件夹中的所有文件名,并将它们转换为集合类型。然后,使用 split() 方法获取每个文件名的前缀名,并将它们存储为另一个集合。接下来,使用 intersection() 方法找出两个集合中的交集,也就是具有相同前缀名的文件。最后,使用 for 循环打印出每个前缀名,并找出属于两个文件夹的具有相同前缀名的文件,并打印出它们的文件名。
请将 "/path/to/folder1" 和 "/path/to/folder2" 替换为实际的文件夹路径。
按照某个文件夹里的文件名然后挑出另一个文件夹里相同文件名的文件
您好,您可以使用Python编写一个脚本来实现这个功能。具体步骤如下:
1. 使用os模块获取要比较的两个文件夹的路径,可以使用`os.path.abspath()`函数获取绝对路径。
2. 使用os模块的`listdir()`函数获取文件夹中的所有文件名。
3. 使用for循环遍历一个文件夹中的所有文件,对于每个文件名,使用`os.path.splitext()`函数获取文件名和扩展名。
4. 使用另一个for循环遍历另一个文件夹中的所有文件,对于每个文件名,同样使用`os.path.splitext()`函数获取文件名和扩展名。
5. 如果两个文件名相同,则说明这两个文件是相同的,可以将其路径保存到一个列表中。
6. 最后输出所有相同文件名的文件路径列表。
下面是一个示例代码:
```python
import os
# 获取要比较的两个文件夹的路径
dir1 = os.path.abspath('folder1')
dir2 = os.path.abspath('folder2')
# 获取文件夹中的所有文件名
files1 = os.listdir(dir1)
files2 = os.listdir(dir2)
# 保存相同文件名的文件路径
same_files = []
# 遍历folder1中的所有文件
for file1 in files1:
# 获取文件名和扩展名
name1, ext1 = os.path.splitext(file1)
# 遍历folder2中的所有文件
for file2 in files2:
# 获取文件名和扩展名
name2, ext2 = os.path.splitext(file2)
# 如果文件名相同,则说明这两个文件是相同的
if name1 == name2:
same_files.append(os.path.join(dir2, file2))
# 输出所有相同文件名的文件路径列表
print(same_files)
```
注意,这个代码只比较文件名是否相同,不考虑文件内容是否相同。如果需要比较文件内容,请使用文件hash值进行比较。