ํŒŒ์ผ ์—ด๊ณ (open) ์ฝ๊ณ (read) ์“ฐ๊ธฐ(wirte)
Programming/Python

ํŒŒ์ผ ์—ด๊ณ (open) ์ฝ๊ณ (read) ์“ฐ๊ธฐ(wirte)

1. open()

#open() : ํŒŒ์ผ ์—ด๊ธฐ
>>> path = '/Users/eunhye/Desktop/Workspace/test.txt'
>>> file = open(path)

 

2. read()

#read() : ํŒŒ์ผ ์ฝ๊ธฐ
#ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ํ•œ์ค„์— ๋ณด์—ฌ์คŒ
>>> fileContent = file.read()
>>> fileContent
'test'

#readlines() : ํ•œ์ค„์‹ ํŒŒ์ผ ์ฝ๊ธฐ
#๋ฆฌ์ŠคํŠธ ํ˜•์‹์œผ๋กœ ๋ณด์—ฌ์คŒ
>>> numberFile = open(path2)
>>> numberContent = numberFile.read()
>>> numberContent
'1\n2\n3\n4\n5\n'
>>> numberFile = open(path2)
>>> numberFile.readlines()
['1\n', '2\n', '3\n', '4\n', '5\n']

 

3. wirte()

#wirte(), w ๋ชจ๋“œ : ๋ฎ์–ด์“ฐ๊ธฐ
>>> file = open(path, 'w')
>>> file.write('Hello World!\n')
13

#close() ํ•จ์ˆ˜ ํ†ตํ•ด์„œ ์ข…๋ฃŒ ํ›„ ์ผ๋ฐ˜ ๋ชจ๋“œ๋กœ open()
>>> file.close()
>>> file = open(path)
>>> fileContent = file.read()
>>> fileContent
'Hello World!\n'
#wirte(), a ๋ชจ๋“œ : ์ด์–ด์“ฐ๊ธฐ
>>> file = open(path, 'a')
>>> file.write('I\'m eunhye!')
11

#close() ํ•จ์ˆ˜ ํ†ตํ•ด์„œ ์ข…๋ฃŒ ํ›„ ์ผ๋ฐ˜ ๋ชจ๋“œ๋กœ open()
>>> file.close()
>>> file = open(path)
>>> fileContent = file.read()
>>> fileContent
"Hello World!\nI'm eunhye!"

 

4. shelve ๋ชจ๋“ˆ ์‚ฌ์šฉํ•˜๊ธฐ

- ํŒŒ์ด์ฌ์˜ ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ ์ด์ง„ ํŒŒ์ผ๋กœ ์ €์žฅ

- ์•„๋ž˜ cat์œผ๋กœ ๋ฌธ์„œ๋ฅผ ์—ด ๊ฒฝ์šฐ text ํŒŒ์ผ์ด ์•„๋‹Œ ์ด์ง„ ํŒŒ์ผ์ด๋ผ ๋ณด์ด์ง€ ์•Š์Œ

>>> import shelve
>>> os.getcwd()
'/Users/eunhye/Test'

#myinform์ด๋ผ๋Š” shelf file์„ ๋งŒ๋“ค์–ด key : value ์ž…๋ ฅ
>>> shelfFile = shelve.open('myinform')
>>> shelfFile['name'] = 'eunhye'
>>> shelfFile['age'] = 27
>>> shelfFile['gender'] = 'female'

#shelf file์˜ type ํ™•์ธ ๊ฐ€๋Šฅ
>>> type(shelfFile)
<class 'shelve.DbfilenameShelf'>

#key : value ํ™•์ธ ๊ฐ€๋Šฅ
>>> list(shelfFile.keys())
['age', 'gender', 'name']
>>> list(shelfFile.values())
[27, 'female', 'eunhye']
>>> shelfFile['age']
27
>>> shelfFile['gender']
'female'
>>> shelfFile['name']
'eunhye'

 

5. pprint ๋ชจ๋“ˆ ์‚ฌ์šฉํ•˜๊ธฐ

- ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ธฐ ์ข‹๊ฒŒ ๊ต์ •ํ•ด์„œ ๋ณด์—ฌ์คŒ

>>> import pprint

#๋ณด๊ธฐ ์ข‹๊ฒŒ ๊ต์ •ํ•ด์„œ ๋ณด์—ฌ์คŒ
>>> temp = [{'age': 27, 'gender': 'female', 'name': 'eunhye'}, {'age': 26, 'gender': 'female', 'name': 'yeji'}]
>>> pprint.pprint(temp)
[{'age': 27, 'gender': 'female', 'name': 'eunhye'},
 {'age': 26, 'gender': 'female', 'name': 'yeji'}]
>>> pprint.pformat(temp)
"[{'age': 27, 'gender': 'female', 'name': 'eunhye'},\n {'age': 26, 'gender': 'female', 'name': 'yeji'}]"

#ํŒŒ์ด์ฌ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•ด์ค„ ์ˆ˜ ์žˆ์Œ
>>> file = open('informDic.py', 'w')
>>> file.write('informDic = ' + pprint.pformat(temp) + '\n')
114
>>> file.close()

#ํŒŒ์ด์ฌ ํŒŒ์ผ์„ importํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
>>> import informDic

#๋ฐ์ดํ„ฐ ํ™•์ธ ๊ฐ€๋Šฅ
>>> informDic.informDic
[{'age': 27, 'gender': 'female', 'name': 'eunhye'}, {'age': 26, 'gender': 'female', 'name': 'yeji'}]
>>> informDic.informDic[0]
{'age': 27, 'gender': 'female', 'name': 'eunhye'}
>>> informDic.informDic[1]
{'age': 26, 'gender': 'female', 'name': 'yeji'}
>>> informDic.informDic[0]['name']
'eunhye'