Python 3.x 需要在列表中存储文件名
一旦我从服务器接收到文件进行进一步处理,我将尝试创建唯一的文件夹 当我将文件直接上载到服务器时,可以创建唯一文件夹并放置文件,但当我上载包含文件的文件夹时,无法创建唯一文件夹。有人能帮我吗 我已将多个文件上载到服务器并创建了唯一的文件夹Python 3.x 需要在列表中存储文件名,python-3.x,Python 3.x,一旦我从服务器接收到文件进行进一步处理,我将尝试创建唯一的文件夹 当我将文件直接上载到服务器时,可以创建唯一文件夹并放置文件,但当我上载包含文件的文件夹时,无法创建唯一文件夹。有人能帮我吗 我已将多个文件上载到服务器并创建了唯一的文件夹 def create_unique_folder(root_dir): folder_name = str(uuid.uuid4()) dir_path = root_dir + '/' + folder_name try:
def create_unique_folder(root_dir):
folder_name = str(uuid.uuid4())
dir_path = root_dir + '/' + folder_name
try:
os.mkdir(dir_path)
except Exception as e:
print(e.args)
return None
return folder_name
@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
resp = {}
files = request.files.getlist('files')
print(files)
#print(type(files))
folder_name = UPLOAD_FOLDER + create_unique_folder(app.config['UPLOAD_FOLDER'])
if folder_name != None:
for f in files:
print(folder_name)
file_path = folder_name + '/' + f.filename
f.save(os.path.join(folder_name, f.filename))
file = f
print('inside upload file')
print('file')
filename = f.filename
ffilename = secure_filename(file.filename)
print(filename)
但当我将文件夹传递给服务器时,我无法创建唯一的文件夹
def create_unique_folder(root_dir):
folder_name = str(uuid.uuid4())
dir_path = root_dir + '/' + folder_name
try:
os.mkdir(dir_path)
except Exception as e:
print(e.args)
return None
return folder_name
@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
resp = {}
files = request.files.getlist('files')
print(files)
#print(type(files))
folder_name = UPLOAD_FOLDER + create_unique_folder(app.config['UPLOAD_FOLDER'])
if folder_name != None:
for f in files:
print(folder_name)
file_path = folder_name + '/' + f.filename
f.save(os.path.join(folder_name, f.filename))
file = f
print('inside upload file')
print('file')
filename = f.filename
ffilename = secure_filename(file.filename)
print(filename)
上面的代码创建了files变量将具有的唯一文件夹 文件=[,] 但当我上传文件夹时,我的文件变量将是 文件2=[,] 我认为,由于文件夹名随文件名一起出现,因此无法创建唯一的文件夹 有人能告诉我怎样才能得到文件格式的文件2吗 我认为,由于文件夹名随文件名一起出现,因此无法创建唯一的文件夹 你的描述有点误导人——上面的代码并不是没有创建唯一的文件夹,而是在其中创建子文件夹,如resumes/等。为此,您可以从pathlib导入路径并插入
Path(file_path).parent.mkdir(parents=True, exist_ok=True)
在f.save…行之前,上面的代码创建了唯一的文件夹,因为files变量将具有files=[,]但当我上载文件夹时,files变量将为file2=[,]