Posts

Showing posts with the label file

파이썬에서 파일 다운로드(웹)

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/6wujkf 파이썬에서 requests 모듈을 이용해서 웹서버의 이미지를 다운로드하여 저장할 수 있습니다. 예시를 보면 금방 알 수 있습니다. import requests img_url = "https://test.com/images/my_image.jpg" filename = img_url.split('/')[-1] r = requests.get(img_url) with open(filename, "wb") as f: f.write(r.content) 문자열의 split()을 이용해서 슬래시("/")로 구분했을 때 url의 마지막 부분을 가져와 파일명으로 사용했습니다. 또한 바이너리 파일이므로 open()으로 파일을 열 때 write-binary("wb")로 지정해 줍니다. 위의 예시에서 파일 작업을 수행할 때 with open() as f: 이런 식으로 구문을 사용할 경우 f.close()를 하지 않아도 자동으로 파일을 닫아주기 때문에 편리합니다. 아래의 작업과 동일합니다. f = open(filename, "wb") f.write(r.content) f.close() @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가

파이썬에서 텍스트 파일을 한줄씩 읽어서 리스트(list)에 할당

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/list 파이썬에서 텍스트 파일을 읽어서 한줄씩 리스트(list)의 원소로 할당하는 방법입니다. 빈 리스트를 하나 선언한 후 for 반복문을 이용해서 간편하게 작업할 수 있습니다. # my_data.txt 파일을 읽기('r')로 열기 f = open('my_data.txt', 'r') f_data = [] # 파일 객체 f로부터 한줄씩 읽어서 리스트에 추가 for line in f: f_data.append(line.rstrip()) 파일을 열고 for 반복문을 이용해서 한줄씩 리스트에 append()로 할당합니다. 읽은 텍스트에는 줄바꿈이 포함되어 있으므로 제거하고 싶다면 rstip()을 이용해서 줄바꿈을 제거합니다.

파이썬에서 json 파일 읽기/쓰기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/json 파이썬에서 json 파일을 읽고 쓰는 방법입니다. 전에 썼던 딕셔너리(dict)/json 변환을 파일에 대해서 수행한다고 보면 되겠습니다. 파이썬에서 json 형식 문자열(str) - 딕셔너리(dict) 변환 https://steemit.com/hive-141029/@joviansummer/json-str-dict 먼저 json 형식의 파일을 읽어서 딕셔너리에 할당하는 방법입니다. 아래와 같이 할 수 있습니다. import json # test.json 파일을 읽기(r) 모드로 열기 f = open('test.json', 'r') # 파일의 내용을 딕셔너리로 변환하여 test_data에 할당 test_data = json.load(f) # 파일 닫기 f.close() 반대로 딕셔너리 데이터를 json 파일로 저장하려면 아래와 같이 할 수 있습니다. x_dict = {'a':1, 'b':2, 'c':3} # test2.json 파일을 쓰기(w) 모드로 열기 f = open('test2.json', 'w') # x_dict를 json 파일로 저장 json.dump(x_dict, f) # 파일 닫기 f.close()

파이썬에서 텍스트 파일 쓰기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/4kfzem 파이썬에서 텍스트 파일을 쓰는 방법입니다. 지난번에 썼던 텍스트 파일 읽기에서 이어지는 내용입니다. 파이썬에서 텍스트 파일 읽기 https://steemit.com/hive-141029/@joviansummer/2v14rm 파일에 쓰려면 open() 함수로 파일을 열때 쓰기(w) 또는 이미 저장된 내용 뒤에 추가하기(a) 모드로 설정하면 됩니다. # test.txt 파일을 쓰기 모드로 열고 파일 객체를 f에 할당 f = open('test.txt', 'w') 파일을 쓰기(w) 모드로 열어서 작업하면 이전에 저장되어 있던 내용이 있을 경우에는 삭제가 됩니다. 내용이 있는 파일 뒤에 새로운 내용을 덧붙이려면 추가하기(a) 모드로 열면 됩니다. 이제 문자열을 파일에 쓸 수 있습니다. 여러 줄로 내용을 쓸 경우 줄바꿈('\n')을 추가해 줍니다. # 문자열 쓰기 f.write('hello world.\n') f.write('testing file operation.\n') 작업이 끝나면 잊지 말고 파일 객체를 닫아줍니다. f.close()

파이썬에서 텍스트 파일 읽기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/2v14rm 파이선에서 텍스트 파일을 읽거나 쓰는 방법입니다. 먼저 텍스트 파일을 읽으려면 open() 함수에서 읽고자 하는 파일을 읽기(r) 모드로 지정합니다. # test.txt 파일을 읽기 모드로 열어서 파일 객체 f에 할당 f = open('test.txt', 'r') 파일의 내용을 한꺼번에 읽을 경우에는 read()를 사용합니다. 읽은 후에는 열려 있는 파일을 닫아줍니다. # 파일 객체 f에 의해 열려 있는 파일을 읽어서 문자열 전체를 변수 x에 할당 x = f.read() f.close() 위의 예시에서는 여러줄로 된 내용 전체가 하나의 변수 x에 할당되었습니다. 만약 내용을 한줄씩 읽고 싶다면 readline()을 사용합니다. 예를 들어 파일의 내용을 한줄씩 읽어서 리스트(list)의 원소로 추가할 경우 아래와 같이 할 수 있겠습니다. # 리스트 초기화 x_list = [] # 파일 열기 f = open('test.txt', 'r') # 한줄씩 읽기 시작 while True: line_str = f.readline() if not line_str: # 읽은 줄이 null string일 경우 while 반복문 중단 break else: # 리스트에 원소 추가 x_list.append(line_str) f.close()

파이썬에서 파일 복사

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/67jpbq 파이썬에서 파일을 복사하고 싶을 때 shutil 모듈을 활용할 수 있습니다. shutil.copy() 함수를 사용합니다. 예를 들어 my_data.txt 파일을 복사해서 my_data.txt.bak 파일로 저장하고 싶다면 아래와 같이 할 수 있습니다. import shutil shutil.copy('my_data.txt', 'my_data.txt.bak') 파일 백업을 위해 복사할 때 아래와 같이 해 볼 수 있겠습니다. import shutil source_file = '/my_dir/my_data.txt' backup_file = source_file + ".bak" shutil.copy(source_file, backup_file)

파이썬에서 특정 파일이 존재하는지 확인하기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/upz7a 인터넷에서 찾아봤다가 잊어버렸다가 나중에 다시 찾아보는 수고를 방지하기 위해서 현재 진행중인 작업과 관련하여 필요한 내용들을 시간 날 때마다 메모해 두려고 합니다. 파이선에서 파일 존재 여부를 확인하는 예시입니다. os 모듈을 활용합니다. import os # 현재 디렉토리 정보를 CUR_DIR에 할당 CUR_DIR = os.getcwd() # 디렉토리 출력 print(CUR_DIR) 현재 디렉토리에 joviansummer.txt 파일이 존재하는지 확인합니다. # 확인 대상 파일(리눅스 기준으로 구분자 "/" 사용) target_file = CUR_DIR + "/joviansummer.txt" # 대상 경로(path) 존재 여부 확인 if os.path.exists(target_file): print("경로가 존재합니다") else: print("경로가 존재하지 않습니다") os.path.exits()는 대상이 파일인지 디렉토리인지 관계 없이 해당 경로가 존재할 경우에 True가 됩니다. 대상이 "파일"인지를 특정해서 확인하기 위해 os.path.isfile()을 함께 AND(교집합) 조건으로 묶어줍니다. # 대상 경로가 존재하고, 그것이 파일인지 확인 if (os.path.exists(target_file) and (os.path.isfile(target_file)): print("파일이 존재합니다.") else: print("파일이 존재하지 않습니다.")