-
[nr.7010] TD_sc : pathlib.Path.home // try~except영상 공부/코딩|모션_자료|정보 2024. 3. 4. 08:29
내가 보려고 만든 페이지.
보셔도 도움이 되지 못 합니다. 참고 부탁드립니다.
1/7
터미널 vim 복사기능
vim. aa.text
q --> a(시작하는 단축키) 레코딩(@a로 바뀐것을 알 수 있다.) --> a(쓰기) -> esc -> 다음 복사할 부분으로가서 q
-> @a시작
JPTpy 책 공부
24 : s_path == /home/rapa 파이썬실행시 경로 : python w03.py(파일명) /home/rapa(경로명)이 경로를 기준으로 glob 탐색 ** 모든 서브 디렉토리 /* 안에있는 파일(파일명 상관없음) .py 확장자가 파이썬인 파일들을 리스트로 다 담아서 for문으로 돌리고 있는 것이다.
예를 들어 a.py, b.py, c.py, d.py ....가 검색되었다고 하면 처음에 a.py가 i에 들어가서 i의 경로가 i.as_posix()로 배치가 되어서 'r'로 읽어서 open으로 뱉어낸 객체 fp에 집어 넣고 fp.readlines로 읽는다 (readlines는 list이다 --> ['aaa','book','xxx'] -> book가 있으므로 find되어 찾았으니까 나가라 break가 되어 for 문으로 빠져 나가고 함수 종료되고 프로그램 나가고 // 만약 못 찾으면 다시 올라가서 b.py가 반복한다. 만약 c.py가 유니코드 에러가 걸린다면 try~except가 실행. -> as err로 알려주되 사용자에게는 알려주고 싶지 않으니까 pass로 무시하고 지나간 것임.)
import pathlib home = pathlib.Path.home() print(home.as_posix(), type(home.as_posix())) result = '{0}/{1}'.format(home.as_posix(), 'result.txt') print(result)
home 디렉토리에서 파일을 만들 때 쓰는 코드
하단은 주피터에서 연습하고 가져옴.
with open('/home/rapa/test/test.py', 'r') as fp1: fp1_lst = fp1.readlines() with open('/home/rapa/test/test2.py', 'r') as fp2: fp2_lst = fp2.readlines() # 'ok' in fp1_lst[4] # print('ok, all right!!'.find(',') # find() : 못 찾으면 0보다 작은 수 print(fp1_lst) print('') print('-'*30) import re print(fp1_lst[4]) # r = raw 문자열 그대로 인식한다. res = re.search(r'ok', fp1_lst[4]) # res = re.search(r'\s+ok\s+', fp1_lst[4]) # 역슬러시+를 붙여주면 좌우의 공백을 계산해준다. # \s는 공백 +는 한칸 이상의 공백 print(res) print(res.group()) res = re.search(r'(ok)', fp1_lst[4]) print(res.groups()) #########결과 값##########' ['asdfjklafhnl\n', 'akdslfj;ldhnjkg\n', 'od\n', 'ob\n', 'ok, all right!!\n', 'dlg;\n', 'dsflkj\n'] ------------------------------ ok, all right!! <re.Match object; span=(0, 2), match='ok'> ok ('ok',)
패턴 찾기
완성형
#!/usr/bin/env python # encoding=utf-8 -> 문자열 집합 모든 언어를 표현 할 수 있다. # author : # created date : 2024.01.07 # modified date : 2024.03.03 # description : video 38분~ 1. 스탠다드 모듈 2. 써드파티 모듁 3. 본인이 작성한 모듈 ''' r: read w: wirte a: append ''' import re # path 구상경로 import sys import pathlib # 객체지향 파일 시스템 경로 # from pathlib import Path 메인 클래스 임포트 # 본인 홈디렉토리 경로 반환하는 함수 # home = pathlib.Path.home() # home.as_posix() # result = '{0}/{1}'.format(home.as_posix(), 'result.txt') # print(result) def get_path(): home = pathlib.Path.home() result = '{0}/{1}'.format(home.as_posix(), 'result.txt') count = 0 try: s_path = pathlib.Path(sys.argv[1]) for i in s_path.glob("**/*.py"): if count > 5: break with open(i.as_posix()) as fp: # fp.readlines() --> list try: for rl in fp.readlines(): res = re.search(r'\s+(ok)\s+', rl) if res is None: continue with open(home_path, 'a') as fp2: fp2.write('{0}: {1}'.format(i.as_posix(), rl)) except UnicodeDecodeError as err: pass except IndexError as err: sys.stderr.write('index가 잘못됨') #err도 출력을 한다. get_path()
i가 파일경로가 됨 i 가 fp2.wirte(파일 이름, 내용)으로 바꾸면 된다.
'영상 공부 > 코딩|모션_자료|정보' 카테고리의 다른 글
[ai] 인공지능 입문 : 컴퓨터와 인간의 표현법 : 십진법과 이진법 외 (0) 2024.04.10 [ai] 인공지능 입문과정 _ 컴퓨터 개론 (2) 2024.04.10 split과 join 문자열 나누기 그리고 나눈 문장을 다시 붙이기 Python파이썬 (0) 2024.01.22 영상 만들때 참고 사이트 모음 1. (2) 2023.10.14 네이버 메인 세계 고양이의 날 귀여운 무빙 (캐릭터, 이모티콘 참고 영상) (0) 2023.08.10