본문 바로가기
반응형

IT/Python37

파이선에서 escape 종류 이스케이프문자 종류 파이선에서 백 슬래시(\)와 조합해서 사용하는 문자이다. 이스케이프 문자에 따라 기능이 각각 다르다. 아래 표를 참고하여 사용가능하다. 이스케이프 문자 설명 \n 줄 바꿈 \t 탭 \b 백스페이스 \000 널문자 \\ \ \' 작은따옴표 \" 큰따옴표 \r 줄 바꿈, 커서를 앞으로 이동 \f 줄 바꿈, 커서를 다음 줄로 이동 \a 벨소리 \v 수직 탭 사용 예시는 다음과 같다. print("Hello world") ### 기본 Hello world print("Hello\nworld") ### \n 줄바꿈 Hello world print("Hello\tworld") ### \t 탭 Hello world print("H\bello world") ### \b 백스페이스 ello world.. 2023. 3. 6.
글읽기, 수정하기 (read, readline, readlines) 파일 모드는 읽기 모드 ('r'), 새로 쓰기 모드 ('w'), 이어 쓰기 모드 ('a')가 있고, 'r'은 읽기 전용으로 파일을 오픈한다. 읽기만 가능하고, 쓰기는 되지 않는다. 'w' 는 쓰기 모드인데, 파일을 새로 만든다. 즉, 동일한 이름의 파일이 있으면 지우고 새로 작성한다. 'a' 는 쓰기 모드인데, 'w' 와는 다르게 기존 파일에 내용을 이어서 작성한다다. f = open('경로', '모드') ex) f = open('/home/python/test.txt', 'w') Python 파일 읽기 (1) readline() - 파일의 한 줄을 가져와 문자열로 반환, 파일 포인터는 그 다음줄로 이동한ㄷ다. (2) readlines() - 파일 내용 전체를 가져와 리스트로 반환, 각 줄은 문자열 형태.. 2023. 2. 28.
파이선 함수 선언 파이선 역시 다른 프로그래밍 언어들과 마찬가지로 함수를 선언하여 사용할수 있다. 자바에서는 좀더 어려운 방법으로 함수를 선언하지만 파이선에서는 좀더 고급 프로그래밍 언어 답게 쉽게 사용이 가능하다. 기본 형식은 다음과 같다. def 함수명(): print("A"); 그리고 선언하는 부분에서는 아래와 같이 선언을 하면된다. print("TEST") 함수명() 이렇게만 해주면 안에 선언된 부분이 동작을 한다. 만약 변수를 넘기고 싶다면 괄호 안에 선언을 해주면 된다. 기본적으로는 동기 방식으로 선언하지만 만약 비동기 식으로 처리를 할 경우엔 def 앞에 async 를 붙여서 이렇게 사용하면 된다. async def do_async(): pass 동기 비동기에 대한 내용은 아래 참고 포스팅을 참고하자. 참고 .. 2023. 1. 17.
파이선에서 파일 읽고 쓰기 이전 포스팅에서 pandas를 사용하여 파일을 읽고 쓰는 방법을 소개한 적이 있다. 자세한 내용은 아래 참고 포스팅을 확인 바란다. 이번 포스팅에서는 pandas 활용이 아닌 순수 python으로 파일을 읽는 방법을 소개하려고 한다. 파일 읽기 file = open('file.txt','r') while True: ll = file.readline() if not ll : break; file.close() 파일 쓰기 file = open('file.txt','w') file.write('text') file.close() 이렇게 파일을 읽고 쓸수 있다. 참고 포스팅 https://thenicesj.tistory.com/386 read_csv() csv파일 읽기 pandas를 이용해 csv 파일을 불러오.. 2023. 1. 16.
단어가 영어인지 아닌지 확인법 파이선에서는 isalpha 이름의 메서드가 있다. word = "Hello" if word.isalpha(): print("It is an alphabet") word = "123" if word.isalpha(): print("It is an alphabet") else: print("It is not an alphabet") 위에인 경우엔 영어라서 if 의 경우가 참으로 나오고 아래의 경우는 영어가 아니라서 아래의 결과가 나온다. 숫자 뿐 아니라 한글이나 공백이나 특수 문자 역시 영어가 아닌거로 체크를 하니 주의하도록 하자. 그리고 또 한가지의 방법은 파이선 뿐 아니라 다른 프로그래밍언어에서도 사용할 수 있는 정규 표현식이다. import re word="hello" reg = re.compile(r.. 2022. 12. 29.
모듈 경로 알아내기 파이선을 사용하는것 뿐 아니라 어떤 프로그램을 사용하더라도 사용할때 모듈이나 라이브러리 의 경로를 알아야할 필요가 있다. 수동으로 집어 넣을 경우도 있고 직접적으로 readme 같은 파일을 보거나 특정 버전으로 압축하기 등에 대해서 사용이 되곤 한다. 파이선에서는 모듈의 위치를 알아내는 법은 간단하다. 그냥 print 문을 사용하면 된다. 자신에게 설치되어있는 모듈을 임포트 한 후에 해당 모듈을 print 하면 경로가 나온다. import numpy as np print(np) 하면 된다. 2022. 12. 27.
SyntaxError: Non-UTF-8 code starting with '\xea' in file <FilePath> but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 파이선에서 스트링을 읽어서 파싱하는 작업 도중 다음 에러가 발생하였다. syntaxError: Non-UTF-8 code starting with '\xea' in file but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 아마 encoding이 뭔가 잘못된 에러인것 같다. 해결법은 생각보다 간단했다. 파일 자체에서 인코딩을 인식하게 하기 위해 코드 제일 상단에 # -*- coding: utf-8 -*- 를 삽입하면 된다. 에러메세지에 있는 사이트를 들어가보면 더 자세히 확인이 가능하다. https://peps.python.org/pep-0263/ PEP 263 – Defining Python Source Code.. 2022. 12. 26.
파이선 리스트 중복 제거 파이선에서 리스트에 중복 제거하는 방법이다. 다양한 방법이 있지만 직관적으로 가장 쉽게 이해 되는것이 다음 방법이어서 적어둔다. arr = [1,1,2,2,5,5,4,4,2,5,3,7] result = [] # 중복 제거된 값들이 들어갈 리스트 for value in arr: if value not in result: result.append(value) print(result) 파이선은 고급프로그래밍 언어 답게 사람과 친숙한 단어들의 문법도 존재하여 not in 같이 존재하는지 여부를 판단후에 별도 리스트로 담아주면 중복 제거가 가능하다. 2022. 12. 13.
파일 복사 파이선에서 자동화 코드를 돌리다보니 파일을 생성해야할 일이 생겼다. 파이선에서 파일 복사는 shutil 라이브러리를 사용한다. import shutil shutil.copyfile("./test1/test1.txt", "./test2.txt") shutil.copy("./test1/test1.txt", "./test3.txt") shutil.copy2("./test1/test1.txt", "./test4.txt") 메서드가 copyfile / copy / copy2 가 있는데 각각의 차이는 copyfile / copy 는 메타정보가 복사 되지 않고 copy2는 메타정보까지 복사를 한다. copy2로 하게 되면 작성한 날짜까지 복사가 된다. 2022. 11. 30.
반응형