path = glob.glob("./venv/*") pprint(path) # result output """ ['./venv\\Include', './venv\\Lib', './venv\\pyvenv.cfg', './venv\\Scripts'] """
./venv/*은 venv 폴더 내 모든 파일들을 의미합니다.
path = glob.glob("./venv/**", recursive=True) pprint(path) # result output """ ['./venv\\', './venv\\Include', './venv\\Lib', './venv\\Lib\\site-packages', './venv\\Lib\\site-packages\\autopep8-2.0.1.dist-info', ... ] """
**은 해당 경로 하위 모든 파일을 의미하며, recursive 플래그와 같이 사용합니다.
recursive를 True로 설정하면 디렉토리 내부의 파일들을 재귀적으로 탐색합니다.
path = glob.glob("./venv/**/*.py", recursive=True) pprint(path) # result output """ ['./venv\\Lib\\site-packages\\autopep8.py', './venv\\Lib\\site-packages\\pycodestyle.py', './venv\\Lib\\site-packages\\pip\\__init__.py', './venv\\Lib\\site-packages\\pip\\__main__.py', './venv\\Lib\\site-packages\\pip\\__pip-runner__.py', ... ] """
.py와 같이 작성 시 특정 확장자를 가진 파일들만 볼 수 있습니다.
./venv/**/.py는 venv 하위 모든 폴더들을 재귀적으로 탐색하며 .py 확장자 파일을 탐색합니다.
# case 1. open 함수를 사용해 파일 열기 f = open("file.txt", "w", encoding="utf-8") f.write("파이썬 파일 쓰기 테스트!\n") # open 함수를 실행하면 python 스크립트가 끝날때 까지 파일이 열려있게 됩니다. # 때문에 파일에 대한 작업이 끝나면 close()를 사용해 파일을 닫아줘야 합니다. f.close()
with open("file.txt", "a", encoding="utf-8") as w: w.write("파이썬 내용 추가 테스트!") # r 모드는 파일을 읽기 모드로 엽니다. with open("file.txt", "r", encoding="utf-8") as r: # readlines는 파일의 모든 내용을 list 자료형으로 한번에 읽어들입니다. print(r.readlines())