我有一个字符串列表,其中包含如下文件
filename = [ '000101 FL - Project Title Page.DOC',
'014200 FL - References.DOC',
'095446 FL - Fabric-Wrapped Ceiling Panels.DOC',
'142113 FL - ELECTRIC TRACTION FREIGHT ELEVATORS.DOC']
我想检查每个字符串中是否存在名称由Div +前两个数字组成的文件夹,例如Div00,Div01,Div09,Div14。如果不是,我想创建此文件夹。然后将文件名存储在此文件夹中。
在伪代码中,我认为它与
类似for file in filenames
if 'Div' + file[0][0] not a folder
make folder 'Div' + file[0][0]
add file to folder
else
add file to folder Div + file[0][0]
将有多个文件以相同的两个数字开头,这就是我想将它们排序到文件夹中的原因。
如果您需要任何澄清,请告诉我。
答案 0 :(得分:1)
使用os.mkdir
创建目录,使用shutil.copy2
复制文件
import os
import shutil
filenames = [ '000101 FL - Project Title Page.DOC']
for filename in filenames:
folder = 'Div' + filename[:2] # 'Div00'
# Create the folder if doesn't exist
if not os.path.exists(folder):
os.makedirs(folder)
# Copy the file to `folder`
if os.path.isfile(filename):
shutil.copy2(filename, folder) # metadata is copied as well
答案 1 :(得分:1)
您可以检查是否有文件夹,如果文件夹不存在则可以进行
if not os.path.exists(dirName):
os.makedirs(dirName)
答案 2 :(得分:0)
尝试这样的事情:
import os
import shutil
for file in filenames
dir_name = "Div%s" % file[0:2]
if not os.path.isdir(dir_name)
os.makedirs(dir_name)
shutil.copy(file, dir_name)