我是python的初學者,我試圖搜索網絡的解決方案,但沒有運氣。Python - 從文件夾到文字的文件
我有一個文件夾包含一些.txt
文件。我想將這些文件讀取到字典中,以便每個文件名都是一個關鍵字,其內容就是這個值。
任何幫助,非常感謝。謝謝。
我是python的初學者,我試圖搜索網絡的解決方案,但沒有運氣。Python - 從文件夾到文字的文件
我有一個文件夾包含一些.txt
文件。我想將這些文件讀取到字典中,以便每個文件名都是一個關鍵字,其內容就是這個值。
任何幫助,非常感謝。謝謝。
我認爲以下將是一個良好的開始,讓您與合作和改進。
import os
direc = os.getcwd() # Get current working directory
ext = '.txt' # Select your file delimiter
file_dict = {} # Create an empty dict
# Select only files with the ext extension
txt_files = [i for i in os.listdir(direc) if os.path.splitext(i)[1] == ext]
# Iterate over your txt files
for f in txt_files:
# Open them and assign them to file_dict
with open(os.path.join(direc,f)) as file_object:
file_dict[f] = file_object.read()
# Iterate over your dict and print the key/val pairs.
for i in file_dict:
print i, file_dict[i]
您可以刪除「os.getcwd()」如果你想使用其他目錄,只需設置直銷=「/一些/其它/目錄/」。
非常感謝和幫助文件分隔符。我試圖循環訪問os.listdir,但得到了DS Store文件的關鍵錯誤。 – Kenhof90
你是否認爲你使用上面的代碼時遇到了DS存儲文件的問題?代碼是這樣編寫的,因此只有擴展名爲「.txt」的文件應該添加到字典中。如果你稍後在os.listdir()上循環並試圖在字典中使用該鍵,那麼是的,它會在沒有'.txt'擴展名的文件上中斷。我不太清楚你的評論是指什麼(不管你是說你仍然有問題,或者你是否感謝我解決你的問題)。 – Ffisegydd
我在感謝你。這是我自己的代碼,我試圖循環os.listdir()並得到關鍵錯誤。 :) – Kenhof90
假設你有一個名爲tech.py
import os
d={}
path="PathToFolderWhereFilesAreLocated"
filename="tech.py"
f=open(os.path.join(path,filename),"r")
value=f.read()
d[filename]=value
現在如果你想使用多個文件工作,你可以創建文件名列表和重複創建一個字典多個文件的文件。
你是否試圖編寫任何代碼來開始?如果是這樣,你可以提供它看看你做了什麼? – Ffisegydd