Python Crawler 및 pytorch 기본 지식 연구 노트

1. 순차 목록 / 튜플 생성

s = [x for x in range(1,10)]

2. Python 출력 형식

print("Python{} {}/{}/{}".format('学习',2019,9,6))
print("Python%s %d/%2d/%2d"%('学习',2019,9,6))# %s输出字符串,%2d输出2格整数
#此外还有%f,%4.2f等控制小数点后位数

3. Lambda 함수 사용

익명 함수를 정의하는 데 사용됩니다. 함수 함수는 매우 간단하고, 따로 함수를 정의 할 필요가 없습니다. 이때 람다가 편리합니다.

f = lambda x: x*x + 1
f(3)
f(5)

4. 맵 기능 사용

일대일 매핑에 사용되는지도 기능은 매우 간단합니다. 입력 매개 변수는 매핑 관계 및 시퀀스 (일반적으로 목록이지만 튜플이기도 함)입니다. 정의 된 함수를 통한 시퀀스 요소의 일대일 매핑은 목록을 반환합니다.

f = lambda x: x*x + 1
s = [x for x in range(1,10)]
ss = map(f,s)
for i in ss:
	print("函数值:\t%d"%(i))

5. Python 특별 참고 사항

#!/usr/bin/python3 env

이 문장은 파이썬 컴파일러의 위치를 ​​나타냅니다. Windows 환경에서는 필수는 아니지만 Linux 환경에 있어야하며 Linux 환경과 호환되기 위해서는이 문장을 추가하십시오.

#coding=utf-8

이 문장은 문자 인코딩을 지정하고, python3은 기본적으로 utf-8이지만 python2는 ASCII 인코딩을 사용합니다. python2와 호환되도록하려면이 문장을 추가하세요.

6. 정규식을 사용하여 문자열에서 중국어가 아닌 문자 제거

import re #引入正则
def remove(text):
	remove_chars = '[A-Z0-9’a-z!"#$%&\'()*+,-./:;<=>?@,。?★、…【】《》?“”‘’![\\]^_`{|}~]+'
    return re.sub(remove_chars, '', text)

7. 문이 실행 중일 때만 실행되고 호출 될 때 실행되지 않도록합니다.

if __name__ == "__main__":
	print("Print only in running")
#if下面的语句将在被调用时不会执行

8. Python 읽기 및 쓰기 파일 방법

기본적으로 C 언어 키워드와 동일

아르 자형 읽기 전용 모드 파일이 있어야합니다 (기본 모드).
w 쓰기 전용 모드 파일이 존재하지 않으면 생성되고 존재한다면 비워진 후 기록됩니다.
추가 모드 파일이 존재하지 않는 경우 작성하고 존재하는 경우 컨텐츠를 추가하십시오.
r + 읽기 및 쓰기 모드 파일이 존재해야하며 처음부터 시작하여 작성하는만큼 덮어 쓰고 동시에 읽을 수 있어야합니다.
w + 읽기 및 쓰기 모드 파일이 존재하지 않으면 생성되고 존재한다면 쓰기와 읽기를 동시에합니다.
a + 읽기 및 쓰기 모드 파일이 존재하지 않는 경우 생성하고, 존재하는 경우 내용 뒤에 작성하여 읽습니다.

읽기 및 쓰기 예 :

fr = open('test1.txt','r+')#打开文件
for line in fr: #遍历文件
    print('每行内容为:',line) #打印文件中每一行内容
fr.close()#关闭文件

fw = open('test2.txt','w+')#打开或创建文件
fw.write('Python写入操作')
fw.close()#关闭文件

참고 : 읽기 작업 중에 파일 포인터가 파일 끝에 있는지 여부에주의하십시오. 끝에있는 경우 파일 내용을 읽으려면 포인터를 찾기 (0)로 시작 으로 재설정 해야합니다 (예 : fr.seek (0)).

9. TXT 파일 인코딩

txt 파일의 기본값은 gbk 인코딩이지만 문자 인코딩이 utf-8 인 경우 오류가보고됩니다. 이때 문자 인코딩을 utf-8로 지정해야합니다.

with open('test.txt','w',encoding = 'utf-8') as fp:
	fp.write(result)

10. 스크래피 모듈을 적용 할 때 항목을 참조하는 두 가지 방법

1. 다음은 Pycharm에서 오타를 프롬프트하지만 여전히 실행할 수 있습니다.

from FindMovies.items import FindmoviesItem

2. 다음 방법을 사용하는 대신 문제가 없습니다.

import sys
sys.path.append('E:\\PyCharm2017\\program\\FindMovies\\FindMovies')# 当前items所在的路径
from items import FindmoviesItem

11. 여러 파이썬 버전의 컴퓨터에서 스크래피 프레임 워크 구축

  1. 일반적으로 스크래피 프레임 워크가 설정되며 명령 줄에서 프로그램이 저장된 경로를 찾고 다음 명령을 입력하면됩니다.
scrapy startProject scrapyDemo	#建立名为scrapyDemo爬虫框架
tree scrapyDemo	#查看框架产生的项目分支

다음 프로젝트 브랜치가 반환되면 성공적으로 생성 된 것
프로젝트 트리
입니다 2. python 버전이 여러 개인 경우
런처에 Fatal error : Unable to create process using ... 이 나타날 수 있습니다 . 이때 명령어를 입력하여 Python 버전을 지정해야합니다. 만들다:

python -m scrapy startproject scrapyDemo

이제 정상적으로 만들 수 있습니다.

12. pytorch 모델의 주소 다운로드 및 저장 위치

  1. 각 pytorch 모델의 다운로드 링크는 다음과 같습니다.
    link : blog ; 다운로드 주소를 직접 복사하여 브라우저에 붙여 넣어 다운로드합니다.
  2. 다운로드 한 모델의 저장 위치는 다음과 같은 방법으로 확인할 수 있습니다.
    IDLE 입력
import torchvisvion.models as models
resnet = models.resnet18(pretrained=True)

파일 및 저장 위치를 ​​다운로드하라는 팝업이 표시되며 다운로드 한 모델을 변경된 경로에 복사하기 만하면됩니다.

13. CNN과 RNN의 차이점

CNN은 Convolutional Neural Network의 약자이고 RNN은 Recurrent Neural Network의 약자입니다. CNN의 한계는 입력 및 출력 시퀀스가 ​​고정되어있는 반면 RNN은 가변적이며 다음과 같이 그래픽으로 표현됩니다.
CNN과 RNN의 차이점
CNN은 일대일이고 RNN은 일대 다, 다 대일, 다 대다입니다. RNN은 기계 번역, 텍스트 처리 등과 같은 다양한 입력 및 출력 시퀀스가있는 시나리오에 적합합니다. 일반적으로 RNN은 가변 길이 데이터를 처리하도록 설계되었습니다.

14. 발생한 오류 및 해결 방법

1. TypeError : 문자열 형식화 중 일부 인수가 변환되지 않음

매개 변수가 대응하지 않는 문제로, %를 사용하여 매개 변수를 전달할 때 나타납니다.
해결 방법 :
%를 .format ()으로 바꿉니다.

추천

출처blog.csdn.net/weixin_45371989/article/details/100584653