writelines()writelines() 함수는 리스트(list) 또는 튜플(tuple) 데이터를 파일에 쓰기 위한 함수이다.
lines = ['첫 번째 줄\n', '두 번째 줄\n', '세 번째 줄\n']
with open('example.txt', 'w') as f:
f.writelines(lines)
위의 코드는 'example.txt'라는 파일을 열고, writelines() 함수를 사용하여 lines 리스트의 요소들을 파일에 작성한다.
writelines() 함수를 안쓰는 경우:
languages = ['c/c++', 'java', 'c#', 'python', 'javascript']
url1 = 'kimye/Downloads/pythonTxt/'
for item in languages:
with open(url + 'languages.txt', 'a') as f:
f.write(item)
f.write('\n')

writelines() 함수를 쓰는 경우:
languages = ['c/c++', 'java', 'c#', 'python', 'javascript']
# languages = ['c/c++\n', 'java\n', 'c#\n', 'python\n', 'javascript']
url1 = 'kimye/Downloads/pythonTxt/'
with open(url + 'languages.txt', 'a') as f:
f.writelines(item + '\n' for item in languages)
# 'item + '\n' for item in languages'는 리스트 안에 있는
# 각 항목(item)을 가져와서 문자열로 변환하고 이 문자열에 '\n' (줄바꿈) 추가

Example: dictionary에 저장된 과목별 점수를 파일에 저장하는 코드 작성하기
url = '/Users/kimye/Downloads/pythonTxt/'
scores = {'kor': 85, 'eng': 50, 'math': 92, 'sci': 79, 'his': 82}
for key in scores.keys():
with open(url + 'scores.txt', 'a') as f:
f.write(key + '\t:' + str(scores[key]) + '\n')

위에서 key는 scores 딕셔너리의 키(key)를 반복하면서 각 키에 대응하는 값을 파일에 쓰기 위해서이다.
여기서 scores.keys()는 딕셔너리 scores의 키(key)들을 나타낸다. for key in scores.keys(): 부분은 scores 딕셔너리의 키들을 반복하겠다는 것을 나타낸다.
그리고 이 키들을 이용하여 scores 딕셔너리에서 각 키에 해당하는 값을 얻어내기 위해 scores[key]와 같이 사용되었다.
그리고 파일에 쓸 때 f.write(key + '\t:' + str(scores[key]) + '\n')와 같이 키와 그에 해당하는 값들을 쓰기 위해 사용되었다.
따라서 key는 딕셔너리 scores의 각 키를 나타내는 변수이다.
url 값을 그대로 출력하고 싶은 경우:
url = '/Users/kimye/Downloads/pythonTxt/'
scores = {'kor': 85, 'eng': 50, 'math': 92, 'sci': 79, 'his': 82}
with open(url + 'scores.txt', 'a') as f:
print(scores, file=f)

