file
ํ์ผ ์ด๊ณ ๋ซ๊ธฐ : open(), close()
ํ์ผ ์ฒ๋ฆฌ
ํ์ผ์ ํฌ๊ฒ ํ ์คํธ ํ์ผ๊ณผ ๋ฐ์ด๋๋ฆฌ ํ์ผ๋ก ๋๋จ
ํ์ผ์ ์ฒ๋ฆฌํ๋ ค๋ฉด ์ผ๋จ ํ์ผ์ด๊ธฐ๋ฅผ ํ๊ณ , ํ์ผ์ ์ด๋ฉด ํ์ผ ์ฝ๊ธฐ ๋๋ ํ์ผ ์ฐ๊ธฐ๋ฅผ ํ๋ค
open() : ํ์ผ ๊ฐ์ฒด = open(๋ฌธ์์ด: ํ์ผ๊ฒฝ๋ก, ๋ฌธ์์ด: ๋ชจ๋)
close() : ํ์ผ๊ฐ์ฒด.close()
ํ์ผ์ด๊ธฐ๋ชจ๋
์ค๋ช
w
write๋ชจ๋ (์๋ก์ฐ๊ธฐ ๋ชจ๋)
a
append ๋ชจ๋ (๋ค์ ์ด์ด์ ์ฐ๊ธฐ ๋ชจ๋)
r
read ๋ชจ๋ (์ฝ๊ธฐ ๋ชจ๋)
file = open("basic.txt", "w") # w : write๋ชจ๋ (์๋ก์ฐ๊ธฐ ๋ชจ๋)
file.write("Hello Python Programming...!")
file.close()
with ํค์๋
open() ํจ์์ close() ํจ์ ์ฌ์ด์ ๋ง์ผ ์ฝ๋๊ฐ ๋ค์ด๊ฐ, ์ด๊ณ ๋ซ์ง ์๋ ์ค์ํ๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ๋ ๊ฒ์ ๋ฐฉ์งํ๋ ๊ธฐ๋ฅ
with open(๋ฌธ์์ด: ํ์ผ๊ฒฝ๋ก, ๋ฌธ์์ด: ๋ชจ๋) as ํ์ผ ๊ฐ์ฒด: ๋ฌธ์ฅ
with open("basic.txt", "w") as file: file.write("Hello Python Programming...!")
ํ
์คํธ ์ฝ๊ธฐ : read()
ํ์ผ ๊ฐ์ฒด.read()
with open("basic.txt", "r") as file:
contents = file.read()
print(contents)
ํ
์คํธ ์ฝ๊ธฐ : readline()
readline()์ ์ฌ์ฉํด์ ํ์ผ์ ์ฒซ ๋ฒ์งธ ์ค์ ์ฝ์ด ์ถ๋ ฅํ๋ ๊ฒฝ์ฐ
f = open("C:/user/์ํ์ผ.txt", 'r') line = f.readline() print(line) f.close()
ํ
์คํธ ์ฝ๊ธฐ :readlines()
readlines ํจ์๋ ํ์ผ์ ๋ชจ๋ ์ค์ ์ฝ์ด์ ๊ฐ๊ฐ์ ์ค์ ์์๋ก ๊ฐ๋ ๋ฆฌ์คํธ๋ก ๋๋ ค์ค๋ค.
f = open("C:/user/์ํ์ผ.txt", 'r') lines = f.readlines() for line in lines: print(line) f.close()
ํ
์คํธ ํ ์ค์ฉ ์ฝ๊ธฐ : CSV
๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ํํํ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก CSV, XML, JSON ๋ฑ์ด ์๋ค
CSV ํ์ผ์ ํ์ค์ ํ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ฐ๊ฐ์ ์ค์ ์ผํ๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ถ
```python
import random
hanguls = list("๊ฐ๋๋ค๋ผ๋ง๋ฐ์ฌ์์์ฐจ์นดํํํ")
with open("info.txt", "w") as file: for i in range(1000): name = random.choice(hanguls) + random.choice(hanguls) weight = random.randrange(40, 100) height = random.randrange(140, 200) file.write("{}, {}, {}\n".format(name, weight, height))
### ๋ฐ์ดํฐ๋ฅผ ํ์ค ์ฉ ์ฝ์ด ๋ค์ผ ๋๋ for ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉ
for ํ์ค์ ๋ํ๋ด๋ ๋ฌธ์์ด in ํ์ผ ๊ฐ์ฒด ์ฒ๋ฆฌ
```python
with open("info.txt", "r") as file:
for line in file:
(name, weight, height) = line.strip().split(", ")
# ๋ฐ์ดํฐ๊ฐ ๋ฌธ์ ์๋์ง ํ์ธํฉ๋๋ค: ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ์ง๋๊ฐ
if (not name) or (not weight) or (not height):
continue
# ๊ฒฐ๊ณผ๋ฅผ ๊ณ์ฐ
bmi = int(weight) / ((int(height) / 100) **2)
result = ""
if 25 <= bmi:
result = "๊ณผ์ฒด์ค"
elif 18.5 <= bmi:
result = "์ ์ ์ฒด์ค"
else:
result = "์ ์ฒด์ค"
print('\n'.join([
"์ด๋ฆ: {}",
"๋ชธ๋ฌด๊ฒ: {}",
"ํค: {}",
"BMI: {}",
"๊ฒฐ๊ณผ: {}"
]).format(name, weight, height, bmi, result))
print()
Last updated
Was this helpful?