Python 2.7 如何在python中同时打开两个具有相同名称和不同扩展名的文件?
我有一个包含多个文件的文件夹:Python 2.7 如何在python中同时打开两个具有相同名称和不同扩展名的文件?,python-2.7,file,io,Python 2.7,File,Io,我有一个包含多个文件的文件夹: a.txt a.json b.txt b.json import os from collections import defaultdict EXTENSIONS = {'.json', '.txt'} directory = '/path/to/your/files' grouped_files = defaultdict(int) for f in os.listdir(directory): name, ext = os
a.txt
a.json
b.txt
b.json
import os
from collections import defaultdict
EXTENSIONS = {'.json', '.txt'}
directory = '/path/to/your/files'
grouped_files = defaultdict(int)
for f in os.listdir(directory):
name, ext = os.path.splitext(os.path.join(directory, f))
if ext in EXTENSIONS:
grouped_files[name] += 1
for name in grouped_files:
if grouped_files[name] == len(EXTENSIONS):
with open('{}.txt'.format(name)) as txt_file, \
open('{}.json'.format(name)) as json_file:
# process files
print(txt_file, json_file)
等等:
使用for循环,我想同时打开两个文件(a.txt和a.json)
在python中有没有一种使用“with”语句的方法 您可以执行以下操作,构造一个由文件名sans扩展名键入的字典,并计算与所需扩展名匹配的文件数。然后,您可以遍历字典,打开成对的文件:
a.txt
a.json
b.txt
b.json
import os
from collections import defaultdict
EXTENSIONS = {'.json', '.txt'}
directory = '/path/to/your/files'
grouped_files = defaultdict(int)
for f in os.listdir(directory):
name, ext = os.path.splitext(os.path.join(directory, f))
if ext in EXTENSIONS:
grouped_files[name] += 1
for name in grouped_files:
if grouped_files[name] == len(EXTENSIONS):
with open('{}.txt'.format(name)) as txt_file, \
open('{}.json'.format(name)) as json_file:
# process files
print(txt_file, json_file)
我有两个不同文件的文件夹,一个是.jpg,另一个是.xml。我就是这样把它们放进另一个文件夹的
您是否预先知道文件名,或者您正在从目录中读取它们?你能详细说明一下你到底想达到什么目的吗?你的实际问题还不太清楚。查找成对的文件名?打开文件?下面介绍如何使用
和
同时打开多个文件:是的,我事先知道文件名。它们是一系列名称相同但扩展名不同的夫妇。我必须一对一对地打开名称相同但扩展名不同的文件。我已经看到了上面的链接,但它不起作用,因为我在多个文件上使用for循环,每次都无法写入文件名。