반응형
파이썬(Python) 파일 읽고(read) 쓰기(write)
< 기본 구조 >
# 파일열기
f = open(file_name[, mode, encoding = 인코딩방식])
# 파일읽기
data = f.read()
# 파일쓰기
f.write(data)
# 파일닫기
f.close()
< 파일 모드 (mode) >
모드(mode) | 내 용 |
r | 읽기모드로 파일열기(기본), 모드를 지정하지 않으면 기본적으로 읽기모드로 지정됨 (default) |
w | 쓰기모드로 파일열기, 같은 이름의 파일이 있으면 기존내용을 모두 삭제됨 |
x | 쓰기모드로 파일열기, 같은 이름의 파일이 있으면 오류가 발생함 |
a | 추가모드로 파일열기, 같은 이름의 파일이 없으면 (w)와 기능이 같음 |
b | 바이너리 파일모드로 파일열기 |
t | 테스트 파일모드로 파일열기(기본), 지정하지 않으면 기본적으로 텍스트모드로 지정됨 (default) |
1. 파일 읽기
< 파일열기 (읽기모드) >
# 파일 열기
f = open(file_name[, 'r', encoding = 인코딩방식])
# 파일 내용 읽기
data = f.read()
# 파일 닫기
f.close()
(예제 1)
%%writefile c:/Temp/셀레니움.txt
>> 셀레니움에서 요소를 찾는 방법
1) ID를 이용하여 요소 찾기
find_element(by = By.ID) 메서드를 사용하여 HTML 요소의 고유한 ID를 기반으로 요소를 찾을 수 있습니다
예를 들어, element = driver.find_element(by= By.ID, value = "element_id")와 같이 사용합니다.
2) 클래스 이름을 사용하여 요소 찾기
find_element(by=By.CLASS_NAME) 메서드를 사용하여 요소의 클래스 이름으로 요소를 찾을 수 있습니다
예를 들어, element = driver.find_element(by=By.CLASS_NAME, value="element_class")와 같이 사용합니다.
3) CSS 선택자를 사용하여 요소 찾기
find_element(by=By.CSS_SELECTOR) 메서드를 사용하여 CSS 선택자를 통해 요소를 찾을 수 있습니다
예를 들어, element = driver.find_element(by=By.CSS_SELECTOR, value=""#element_id"" )와 같이 사용합니다.
4) XPath를 사용하여 요소 찾기
find_element(by=By.XPATH) 메서드를 사용하여 XPath를 통해 요소를 찾을 수 있습니다
XPath는 HTML 문서의 요소를 경로로 표현하는 언어로 XPath를 사용한 방법을 가장 많이 사용하게 됩니다
예를 들어, element = driver.find_element(by=By.XPATH, value="//div[@class='element_class']")와 같이 사용합니다.
(결과)
Writing c:/Temp/셀레니움.txt
(예제1)
file_name = 'c:/Temp/셀레니움.txt'
f = open(file_name, 'r', encoding='utf-8')
data = f.read()
f.close()
print(data)
(결과)
>> 셀레니움에서 요소를 찾는 방법
1) ID를 이용하여 요소 찾기
find_element(by = By.ID) 메서드를 사용하여 HTML 요소의 고유한 ID를 기반으로 요소를 찾을 수 있습니다
예를 들어, element = driver.find_element(by= By.ID, value = "element_id")와 같이 사용합니다.
2) 클래스 이름을 사용하여 요소 찾기
find_element(by=By.CLASS_NAME) 메서드를 사용하여 요소의 클래스 이름으로 요소를 찾을 수 있습니다
예를 들어, element = driver.find_element(by=By.CLASS_NAME, value="element_class")와 같이 사용합니다.
3) CSS 선택자를 사용하여 요소 찾기
find_element(by=By.CSS_SELECTOR) 메서드를 사용하여 CSS 선택자를 통해 요소를 찾을 수 있습니다
예를 들어, element = driver.find_element(by=By.CSS_SELECTOR, value=""#element_id"" )와 같이 사용합니다.
4) XPath를 사용하여 요소 찾기
find_element(by=By.XPATH) 메서드를 사용하여 XPath를 통해 요소를 찾을 수 있습니다
XPath는 HTML 문서의 요소를 경로로 표현하는 언어로 XPath를 사용한 방법을 가장 많이 사용하게 됩니다
예를 들어, element = driver.find_element(by=By.XPATH, value="//div[@class='element_class']")와 같이 사용합니다.
2. 파일 한 줄씩 읽기
(1) 한 줄 읽기 : readline()
- 한 줄의 첫 문자부터 개행문자(\n)까지의 문자열을 읽습니다.
(예제1)
file_name = 'c:/Temp/셀레니움.txt'
f = open(file_name, 'r', encoding='utf-8')
line1 = f.readline()
line2 = f.readline()
f.close()
print(line1, end='')
print(line2, end='')
(결과)
>> 셀레니움에서 요소를 찾는 방법
1) ID를 이용하여 요소 찾기
(예제2)
file_name = 'c:/Temp/셀레니움.txt'
f = open(file_name, 'r', encoding='utf-8')
line_num = 0
while True:
line = f.readline()
if (line == ''):
break
line_num += 1
print("{0}: {1}".format(line_num, line), end='')
f.close()
(결과)
1: >> 셀레니움에서 요소를 찾는 방법
2: 1) ID를 이용하여 요소 찾기
3: find_element(by = By.ID) 메서드를 사용하여 HTML 요소의 고유한 ID를 기반으로 요소를 찾을 수 있습니다
4: 예를 들어, element = driver.find_element(by= By.ID, value = "element_id")와 같이 사용합니다.
5:
6: 2) 클래스 이름을 사용하여 요소 찾기
7: find_element(by=By.CLASS_NAME) 메서드를 사용하여 요소의 클래스 이름으로 요소를 찾을 수 있습니다
8: 예를 들어, element = driver.find_element(by=By.CLASS_NAME, value="element_class")와 같이 사용합니다.
9:
10: 3) CSS 선택자를 사용하여 요소 찾기
11: find_element(by=By.CSS_SELECTOR) 메서드를 사용하여 CSS 선택자를 통해 요소를 찾을 수 있습니다
12: 예를 들어, element = driver.find_element(by=By.CSS_SELECTOR, value=""#element_id"" )와 같이 사용합니다.
13:
14: 4) XPath를 사용하여 요소 찾기
15: find_element(by=By.XPATH) 메서드를 사용하여 XPath를 통해 요소를 찾을 수 있습니다
16: XPath는 HTML 문서의 요소를 경로로 표현하는 언어로 XPath를 사용한 방법을 가장 많이 사용하게 됩니다
17: 예를 들어, element = driver.find_element(by=By.XPATH, value="//div[@class='element_class']")와 같이 사용합니다.
(2) 한 줄씩을 요소로 갖는 리스트로 읽어오기 : readlines()
- 파일 전체의 모든 줄을 읽어서 한 줄씩을 요소로 갖는 리스트를 반환합니다.
file_name = 'c:/Temp/셀레니움.txt'
f = open(file_name, 'r', encoding='utf-8')
lines = f.readlines()
f.close()
line_num = 0
for line in lines:
line_num += 1
print("{0}: {1}".format(line_num, line), end='')
(결과)
1: >> 셀레니움에서 요소를 찾는 방법
2: 1) ID를 이용하여 요소 찾기
3: find_element(by = By.ID) 메서드를 사용하여 HTML 요소의 고유한 ID를 기반으로 요소를 찾을 수 있습니다
4: 예를 들어, element = driver.find_element(by= By.ID, value = "element_id")와 같이 사용합니다.
5:
6: 2) 클래스 이름을 사용하여 요소 찾기
7: find_element(by=By.CLASS_NAME) 메서드를 사용하여 요소의 클래스 이름으로 요소를 찾을 수 있습니다
8: 예를 들어, element = driver.find_element(by=By.CLASS_NAME, value="element_class")와 같이 사용합니다.
9:
10: 3) CSS 선택자를 사용하여 요소 찾기
11: find_element(by=By.CSS_SELECTOR) 메서드를 사용하여 CSS 선택자를 통해 요소를 찾을 수 있습니다
12: 예를 들어, element = driver.find_element(by=By.CSS_SELECTOR, value=""#element_id"" )와 같이 사용합니다.
13:
14: 4) XPath를 사용하여 요소 찾기
15: find_element(by=By.XPATH) 메서드를 사용하여 XPath를 통해 요소를 찾을 수 있습니다
16: XPath는 HTML 문서의 요소를 경로로 표현하는 언어로 XPath를 사용한 방법을 가장 많이 사용하게 됩니다
17: 예를 들어, element = driver.find_element(by=By.XPATH, value="//div[@class='element_class']")와 같이 사용합니다.
3. 파일 쓰기 (write)
(예제)
file_name = "c:/Temp/구구2단.txt"
f = open(file_name, 'w')
f.write("[ 구구단 2단 ]\n")
for num in range(1,9):
str = "2 x {0} = {1}\n".format(num, 2*num)
f.write(str)
f.close()
print("생성한 파일 : ", file_name)
(결과)
생성한 파일 : c:/Temp/구구2단.txt
!type c:\Temp\구구2단.txt
(결과)
[ 구구단 2단 ]
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
4. with 문으로 파일 읽고 쓰기
< 형식 >
with open(file_name[, mode, encoding=인코딩방식]) as f:
파일객체(f)를 이용해 파일을 읽거나 쓰기 코드
(예제1)
file_name = "c:/Temp/구구3단.txt"
with open(file_name, 'w') as f:
f.write("[ 구구단 3단 ]\n")
for num in range(1,9):
str = "3 x {0} = {1}\n".format(num, 3 * num)
f.write(str)
(예제2)
with open(file_name, 'r') as f:
data = f.read()
print(data)
(결과)
[ 구구단 3단 ]
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
- with 문으로 파일을 열었을 때는 close()를 사용하지 않습니다.
반응형
'개발(IT) > Python(파이썬)' 카테고리의 다른 글
파이썬(Python) 데이터처리 - 넘파이(NumPy) (0) | 2024.12.01 |
---|---|
파이썬(Python) 문자열 처리 (0) | 2024.11.30 |
파이썬(Python) 스케줄러 패키지(Schedule Package) (0) | 2024.11.16 |
파이썬(Python) 패키지(Package) (0) | 2024.11.16 |
파이썬(Python) 내장모듈(날짜/시간) (1) | 2024.11.09 |