[파이썬] 파일의 디렉토리 내 파일 업로드

많은 개발자들이 파일 업로드 기능을 구현해야 할 때가 있습니다. 파이썬에서는 os 모듈을 사용하여 디렉토리 내 파일을 업로드하는 작업을 쉽게 처리할 수 있습니다. 이 블로그 포스트에서는 파일의 디렉토리 내에 있는 파일을 업로드하는 방법에 대해 알아보겠습니다.

1. 파일 선택하기

파일을 업로드하기 전에, 사용자가 업로드할 파일을 선택해야 합니다. 웹 애플리케이션에서는 보통 HTML의 <input type="file"> 태그를 사용하여 파일 선택 기능을 제공합니다.

<input type="file" name="upload_file">

이러한 태그를 사용하면 사용자가 파일을 선택하면 선택한 파일의 정보를 서버로 전송할 수 있습니다.

2. 업로드된 파일 저장하기

사용자가 파일을 선택하고 서버로 전송했다면, 이제 업로드된 파일을 서버에 저장해야 합니다. 업로드된 파일을 저장할 디렉토리를 미리 정의하고, 해당 디렉토리 내에 파일을 저장합니다.

import os
from flask import Flask, request

app = Flask(__name__)

UPLOAD_FOLDER = '/path/to/upload/folder'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

@app.route('/upload', methods=['POST'])
def upload_file():
    file = request.files['upload_file']
    file.save(os.path.join(app.config['UPLOAD_FOLDER'], file.filename))
    return 'File uploaded successfully'

if __name__ == '__main__':
    app.run()

위의 예제는 Flask 웹 프레임워크를 사용한 예시입니다. UPLOAD_FOLDER 변수에 업로드할 파일을 저장할 디렉토리 경로를 지정하고, /upload 엔드포인트에 POST 요청이 오면 파일을 저장하는 로직이 작성되어 있습니다.

3. 업로드된 파일의 경로 확인하기

파일을 업로드한 후, 해당 파일의 경로를 확인하고 필요에 따라 다른 로직에 활용할 수 있습니다.

import os

uploaded_file_path = '/path/to/upload/folder/filename.ext'

if os.path.exists(uploaded_file_path):
    print('File uploaded successfully')
else:
    print('Failed to upload file')

위의 예제는 업로드된 파일의 경로를 변수 uploaded_file_path에 저장한 뒤, os.path.exists() 함수를 사용하여 해당 경로에 파일이 존재하는지 확인합니다. 파일이 존재할 경우 ‘File uploaded successfully’를 출력하고, 존재하지 않을 경우 ‘Failed to upload file’을 출력합니다.


이렇게 파이썬을 사용하여 파일의 디렉토리 내에 파일을 업로드하는 방법에 대해 알아보았습니다. 파일 업로드 기능은 웹 개발에 필수적이며, 이를 활용하여 다양한 기능을 구현할 수 있습니다.