[英]Python: Changing filenames and folder names in all folders and subfolders
[英]Use Python to Create Folders Recursively with Folder Names Matching Filenames
是否有Python方法來遞歸創建目錄? 我有這條路:
/ home / data /中包含文件“ table1.csv”,“ table2.csv”,...,“ table1000.csv”
我想創建:/ home / data / table1並在其中移動“ table1.csv”; / home / data / table2並在其中移動“ table2.csv”; 。 。 。 / home / data / table1000並在其中移動“ table1000.csv”;
文件夾名稱必須與csv文件名稱匹配。
我該如何遞歸呢? 我知道應該使用os.makedirs()不確定它是如何工作的。
非常感謝。
注意:“ table1”和“ table2”等只是虛擬示例文件名。 實際的文件名有點復雜。
使用mkdir
從os
庫創建每個目錄。
https://docs.python.org/2/library/os.html
對於每個目錄,請使用shutil.move
移動當前文件。
每次迭代應如下所示:
for i in range(1, 1001):
os.mkdir('/home/data/table' + str(i))
shutil.move('/home/data/table' + str(i) + '.csv', '/home/data/table' + str(i) + '/table' + str(i) + '.csv')
我將以以下方式在Python中工作:
1.獲取列表中文件夾中的所有文件
2.瀏覽列表的文件名並:
在網上進行簡單的搜索即可獲得有關如何完成上述每個步驟的示例。
編輯:下面是一個簡單的csv文件示例。
import glob, os
import shutil
dir="D:\Dropbox\MYDOCS\DEV\python\snippets"
os.chdir(dir)
for file in glob.glob("*.csv"):
dst=dir+"\\"+file.replace(" ","_").replace(".csv","")
os.mkdir(dst)
print(dst)
shutil.move(file,dst)
使用的Windows路徑,因為我使用Windows,所以您需要將其更改為Linux路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.