+) 문자열이 시작하는 따옴표 앞에 ‘r’을 붙이면 이스케이프 문자가 적용X → 원시 문자열
strip()
메서드를 사용해 공백 문자 처리.stages = ['fundamentals', 'exploration', 'goingdeeper']
",".join(stages)
[out] 'fundamentals,exploration,goingdeeper'
'fundamentals,exploration,goingdeeper'.split(',')
[out] ['fundamentals', 'exploration', 'goingdeeper']
sent = 'I can do it!'
sent.replace('I', 'You')
[out] 'You can do it!'
[Python 변수] mutable과 immutable의 차이
# 1단계 : "the"라는 문자열의 패턴 정의 → 컴파일(compile)
pattern = re.compile("the")
# 2단계 : 정의된 패턴과 매칭되는 문자열 검색
pattern.findall('of the people, for the people, by the people')
[out] ['the', 'the', 'the']
re.findall('the', 'of the people, for the people, by the people')
# 컴파일 과정 없어도 가능
[out] ['the', 'the', 'the']
[ ]
: 문자.
: 하나의 문자?
: 0회 또는 1회 반복+
: 1회 이상 반복{m, n}
: m ~ n\d
: 숫자, [0-9]
와 동일\D
: 비 숫자, [^0-9]
와 동일\w
: 알파벳 문자 + 숫자 + _
, [a-zA-Z0-9_]
와 동일\W
: 비 알파벳 문자 + 비숫자, [^a-zA-Z0-9_]
와 동일\s
: 공백 문자, [ \t\n\r\f\v]
와 동일\S
: 비 공백 문자, [^ \t\n\r\f\v]
와 동일\b
: 단어 경계\B
: 비 단어 경계\t
: 가로 탭(tab)\v
: 세로 탭(vertical tab)\f
: 폼 피드\n
: 라인 피드(개행문자)\r
: 캐리지 리턴(원시 문자열)text = """
The first season of America Premiere League was played in 1993.
The second season was played in 1995 in South Africa.
Last season was played in 2019 and won by Chennai Super Kings (CSK).
CSK won the title in 2000 and 2002 as well.
Mumbai Indians (MI) has also won the title 3 times in 2013, 2015 and 2017.
"""
pattern = re.compile("[1-2]\d\d\d")
pattern.findall(text)
[out] ['1993', '1995', '2019', '2000', '2002', '2013', '2015', '2017']
▶ 1000년 이후의 년도를 찾기 위함 → [1-2]\d\d\d
phonenumber = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')
phone = phonenumber.search('This is my phone number 010-111-1111')
if phone:
print(phone.group())
▶ \d\d\d-\d\d\d-\d\d\d\d → \d{3}-\d{3}-\d{4} → (\d{3}-){2}\d{4}
f = open("hello.txt","w") # 파일을 열고 파일 객체를 반환
for i in range(10):
f.write("안녕")
f.close() # 작업이 끝나면 close() 꼭 메서드로 닫아주기!
print("완료!")
with open("hello.txt", "r") as f:
print(f.read())
[out] 안녕안녕안녕안녕안녕안녕안녕안녕안녕안녕
‘hello.txt’ 파일에 저장된 내용이 읽힘
메서드
f.read()
: 파일을 읽는다.
f.readline()
: 파일을 한 줄씩 읽는다.
f.readlines()
: 파일 안의 모든 줄을 읽어 그 값을 리스트로 반환한다.
f.write(str)
: 파일에 쓴다. 문자열 타입을 인자로 받는다.
f.writelines(str)
: 파일에 인자를 한 줄씩 쓴다.
f.close()
: 파일을 닫는다.
f.seek(offset)
: 해당 파일의 위치(offset)를 찾아 파일의 커서를 옮긴다. 파일의 처음 위치는 0이다.
f.tell()
: 현재 커서의 위치를 반환한다.
[python] 파이썬 파일읽기, 파일쓰기 (open , close, write, read, tell, seek)
모듈(module) : 파이썬으로 만든 코드가 들어간 파일 .py
패키지(package) : 기능적으로 동일하거나 동일한 결과를 만드는 모듈들의 집합 또는 폴더. 종종 라이브러리라고도 불림
라이브러리(library) : 모듈과 패키지의 집합. 패키지보다 포괄적인 개념이나 패키지와 혼용되어 사용되기도 함.
PIP(Package Installer for Python) : 패키지 관리자로 파이썬을 설치하면 기본으로 설치
PyPA(Python Packaging Authority) : 파이선 패키지를 관리하고 유지하는 그룹
PyPI(The Python Package Index) : 파이썬 패키지들의 저장소
함수
sys.path
: 현재 폴더와 파이썬 모듈들이 저장되는 위치를 리스트 형태로 반환
sys.path.append()
: 자신이 만든 모듈의 경로를 append
함수를 이용해서 추가함. 그 후 추가한 디렉터리에 있는 파이썬 모듈을 불러와 사용할 수 있다.
os.chdir()
: 디렉터리 위치 변경
os.getcwd()
: 현재 자신의 디렉터리 위치를 반환
os.mkdir()
: 디렉터리 생성
os.rmdir()
: 디렉터리 삭제 (단, 디렉터리가 비어 있을 경우)
glob.glob()
: 해당 경로 안의 디렉터리나 파일들을 리스트 형태로 반환
os.path.join()
: 경로(path)를 병합하여 새 경로 생성
os.listdir()
: 디렉터리 안의 파일 및 서브 디렉터리를 리스트 형태로 반환
os.path.exists()
: 파일 혹은 디렉터리의 경로 존재 여부 확인
os.path.isfile()
: 파일 경로의 존재 여부 확인
os.path.isdir()
: 디렉터리 경로의 존재 여부 확인
os.path.getsize()
: 파일의 크기 확인
어제보다 훨씬 어려워서 무슨 말이지 하면서 여러번 읽어봤다. 사실 아직도 정확히 이해하지 못한 것들이 있지만 퍼실님께서 다른 것을 공부하다보면서 익숙해질거라고 하셔서 마음이 놓이긴 했다.
지금 당장 모든 걸 이해하려고 하지 말고, 차차 하나씩 배워가며 이해해보쟈 😊