从包含 txt 文件的文件夹中只获取你想要的 txt 文件 - Python
Get only the txt file you want from the folder containing the txt file - Python
我有一个包含 .txt
个文件的文件夹。文件的名称是:
my_file1.txt
my_file2.txt
my_file3.txt
my_file4.txt
这样就只有最后一个数字不一样了
import pickle
my_list = []
with open("/Users/users_a/Desktop/website-basic/sub_domain/sub_domain01.txt", "rb") as f1,
open("/Users/users_a/Desktop/website-ba\
sic/sub_domain/sub_domain02.txt", "rb") as f2, open("/Users/users_a/Desktop/website-
basic/sub_domain/sub_domain03.txt", "rb") as f3:
my_list.append(pickle.load(f1))
my_list.append(pickle.load(f2))
my_list.append(pickle.load(f3))
print(my_list)
这样,我加载了一个文件并将其放入my_list
变量中,以创建一个列表并工作。随着要工作的文件数量的增加,代码变得太长和繁琐。
是否有一种更简单、更 pythonic 的方法来仅加载所需的 txt
文件??
您可以使用 os.listdir()
:
import os
import pickle
my_list = []
path = "/Users/users_a/Desktop/website-basic/sub_domain"
for file in os.listdir(path):
if file.endswith(".txt"):
with open(f"{path}/{file}","r") as f:
my_list.append(pickle.load(f))
其中 file
是 path
中文件的文件名
I suggest using os.path.join()
instead of hard coding the file paths
如果您的文件夹只包含您要加载的文件,您可以使用:
for file in os.listdir(path):
with open(f"{path}/{file}","r") as f:
my_list.append(pickle.load(f))
为 my_file[number].txt
编辑
如果您只想要 my_file[number].txt
格式的文件,请使用:
import os
import re
import pickle
my_list = []
path = "/Users/users_a/Desktop/website-basic/sub_domain"
for file in os.listdir(path):
if re.match(r"my_file\d+.txt", file):
with open(f"{path}/{file}","r") as f:
my_list.append(pickle.load(f))
Online regex demo https://regex101.com/r/XJb2DF/1
我有一个包含 .txt
个文件的文件夹。文件的名称是:
my_file1.txt
my_file2.txt
my_file3.txt
my_file4.txt
这样就只有最后一个数字不一样了
import pickle
my_list = []
with open("/Users/users_a/Desktop/website-basic/sub_domain/sub_domain01.txt", "rb") as f1,
open("/Users/users_a/Desktop/website-ba\
sic/sub_domain/sub_domain02.txt", "rb") as f2, open("/Users/users_a/Desktop/website-
basic/sub_domain/sub_domain03.txt", "rb") as f3:
my_list.append(pickle.load(f1))
my_list.append(pickle.load(f2))
my_list.append(pickle.load(f3))
print(my_list)
这样,我加载了一个文件并将其放入my_list
变量中,以创建一个列表并工作。随着要工作的文件数量的增加,代码变得太长和繁琐。
是否有一种更简单、更 pythonic 的方法来仅加载所需的 txt
文件??
您可以使用 os.listdir()
:
import os
import pickle
my_list = []
path = "/Users/users_a/Desktop/website-basic/sub_domain"
for file in os.listdir(path):
if file.endswith(".txt"):
with open(f"{path}/{file}","r") as f:
my_list.append(pickle.load(f))
其中 file
是 path
I suggest using
os.path.join()
instead of hard coding the file paths
如果您的文件夹只包含您要加载的文件,您可以使用:
for file in os.listdir(path):
with open(f"{path}/{file}","r") as f:
my_list.append(pickle.load(f))
为 my_file[number].txt
如果您只想要 my_file[number].txt
格式的文件,请使用:
import os
import re
import pickle
my_list = []
path = "/Users/users_a/Desktop/website-basic/sub_domain"
for file in os.listdir(path):
if re.match(r"my_file\d+.txt", file):
with open(f"{path}/{file}","r") as f:
my_list.append(pickle.load(f))
Online regex demo https://regex101.com/r/XJb2DF/1