import os
import time
import datetime
# 현재 폴더 (C:\PythonWorkspace)
print(os.getcwd())
# 폴더 변경 (C:\PythonWorkspace\RPA)
os.chdir('RPA')
print(os.getcwd())
# 상위 폴더 이동 (C:\PythonWorkspace)
os.chdir('..')
print(os.getcwd())
# 2단계 상위 폴더 이동
os.chdir('RPA') # C:\PythonWorkspace\RPA
print(os.getcwd())
os.chdir('../..') # C:\
print(os.getcwd())
# 절대 경로 이동
os.chdir('C:/PythonWorkspace/RPA')
print(os.getcwd())
# 파일 경로 생성
# 절대 경로로 파일 생성 (현재 폴더 가져와 파일명 더하기)
file_path = os.path.join(os.getcwd(), 'myfile.txt')
print(file_path)
# 파일 경로에서 폴더 정보 가져오기
# 기존에 생성된 파일과 같은 경로에 새로운 파일을 만들 경우 사용
file_path = os.path.dirname(r'C:\PythonWorkspace\myfile.txt')
print(file_path)
# 파일 정보 가져오기
# 파일 생성 날짜 : getctime
# 파일 수정 날짜 : getmtime
# 파일의 마지막 접근 날짜 : getatime
ctime = os.path.getctime('C:/PythonWorkspace/checkbox.png')
print(ctime)
ctime = datetime.datetime.fromtimestamp(ctime).strftime('%Y-%m-%d %H:%M:%S')
print(ctime)
# 파일 크기 (byte)
size = os.path.getsize('C:/PythonWorkspace/checkbox.png')
print(size)
# 폴더 내 파일/폴더 목록 가져오기
# 현재 폴더 내 파일/폴더 목록 가져오기
dirlist = os.listdir()
print(dirlist)
# 특정폴더 내 파일/폴더 가져오기
dirlist = os.listdir('C:/PythonWorkspace/RPA')
print(dirlist)
# 하위폴더 포함 모든 파일 목록 가져오기
filedir = os.walk('C:/PythonWorkspace/RPA')
# 리스트 구조 : 폴더명, 하위폴더명, 파일명
for root, dirs, files in filedir:
print(root, dirs, files)
# 폴더 내 특정 파일 찾기
filename = 'checkbox.png'
result = []
for root, dirs, files in os.walk(os.getcwd()):
if filename in files:
result.append(os.path.join(root, filename))
print(result)
# 폴더 내 패턴 찾기
import fnmatch
pattern = '*.png'
result = []
for root, dirs, files in os.walk(os.getcwd()):
for name in files:
# 파일명과 패턴 비교
if fnmatch.fnmatch(name, pattern):
result.append(os.path.join(root, name))
print(result)
# 주어진 경로가 파일인지 폴더인지 확인
folder = os.path.isdir('RPA')
files = os.path.isfile('RPA')
wrong = os.path.isdir('RPAAAA') # 잘못된 경로일 경우
print('폴더인가?', folder) # True
print('파일인가?', files) # False
print('폴더인가?', wrong) # False
# 주어진 경로가 존재하는지 확인
if os.path.exists('RPA'):
print('존재합니다.')
else:
print('존재하지 않습니다.')
# 파일 만들기
open('new_file.txt', 'a').close()
# 파일명 변경
os.rename('new_file.txt', 'rename_file.txt')
# 파일 삭제
os.remove('rename_file.txt')
# 폴더 만들기
os.mkdir('new_folder')
# 절대 경로
# os.mkdir('C:/Pythonworkspace/RPA/new_folder')
# 하위폴더까지 한꺼번에 만들기
os.makedirs('new_folders/a/b/c')
# 폴더명 변경
os.rename('new_folder', 'rename_folder')
# 폴더 삭제
os.rmdir('rename_folder')
# 폴더 내 파일이나 폴더가 있을 때 모두 삭제
import shutil
shutil.rmtree('new_folders')
# 폴더 안으로 파일 복사
shutil.copy('checkbox.png', 'new_folder')
# 대상 폴더로 복사하면서 파일명도 변경
shutil.copy('checkbox.png', 'new_folder/rename_checkbox.png')
# copy는 2번째 Args에 폴더, 파일 올 수 있고 copyfile은 파일만 올 수 있다.
shutil.copyfile('checkbox.png', 'new_folder/rename_checkbox.png')
# copy, copyfile : 메타정보 복사 안함
# copy2 : 메타정보 복사
shutil.copy2('checkbox.png', 'new_folder')
# 폴더 복사 (하위 폴더/파일 모두 복사)
shutil.copytree('RPA/mail', 'PRA/copied_mail')
# 폴더 이동 (mail폴더를 windows폴더 하위로 이동)
shutil.move('RPA/mail', 'PRA/windows')
'RPA > Python' 카테고리의 다른 글
[selenium] 브라우저 및 Handle 컨트롤 (0) | 2021.05.05 |
---|---|
[selenium] 설치 및 환경 설정 (0) | 2021.05.05 |
[pyautogui] 메세지 창 (0) | 2021.05.04 |
[pyautogui] 키보드 입력 (0) | 2021.05.04 |
[pyautogui] 프로그램 창 다루기 (0) | 2021.05.03 |