Python 爬虫及pytorch基础知识学习笔记

目录

    • 1.生成顺序列表/元组
    • 2.Python输出格式化
    • 3.lambda函数用法
    • 4.map函数用法
    • 5.Python特殊注释
    • 6.用正则表达式去除字符串中的非汉字部分
    • 7.使语句仅在自身运行时执行,而在被调用时不被执行
    • 8.python读写文件方式
    • 9.TXT文件编码
    • 10.应用scrapy模块时引用Item的两种方式
    • 11.电脑有多python版本下,scrapy框架的建立
    • 12.pytorch模型的下载地址及保存位置
    • 13.CNN与RNN的区别
    • 14.遇到的错误及解决方案
      • 1.TypeError: not all arguments converted during string formatting

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函数用法

用于定义一个匿名函数。函数功能非常简单,没必要单独定义一个函数,此时,lambda派上用场。

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

4.map函数用法

map函数,用于一一映射关系,非常简便。输入参数为映射关系和序列(通常为列表,元组也可以)。通过一个定义的函数对序列中元素进行一一映射,返回的是一个列表。

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

这一句是指明python编译器位置。在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语言的关键词相同

r 只读模式 文件必须存在(默认模式)
w 只写模式 文件不存在则创建,存在则清空后写入
a 追加模式 文件不存在则创建,存在则在内容后追加
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()#关闭文件

注:在读操作时,注意文件指针是否在文件最末端,若在最末端,则需要用seek(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.应用scrapy模块时引用Item的两种方式

1.下面这种在Pycharm中会提示错字,但仍能运行

from FindMovies.items import FindmoviesItem

2.而用下面这种方法代替,则不会出现问题

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

11.电脑有多python版本下,scrapy框架的建立

  1. 一般scrapy的框架建立,只需要在命令行找到存放程序的路径下,输入以下指令:
scrapy startProject scrapyDemo	#建立名为scrapyDemo爬虫框架
tree scrapyDemo	#查看框架产生的项目分支

若返回了如下的项目分支,则代表创建成功
Python 爬虫及pytorch基础知识学习笔记_第1张图片
2. 若存在多个版本的python,则可能出现
Fatal error in launcher: Unable to create process using…的报错,这时候,则需要输入指定python版本的命令进行创建:

python -m scrapy startproject scrapyDemo

此时就能正常创建了

12.pytorch模型的下载地址及保存位置

  1. pytorch各个模型下载链接如下:
    链接: 博客;直接复制下载地址,在浏览器粘贴就能下载。
  2. 下载的模型保存位置可以由以下方式确定:
    在IDLE中输入
import torchvisvion.models as models
resnet = models.resnet18(pretrained=True)

会弹出来下载文件及其存放位置,直接把我们下载好的模型复制到改路径下即可。

13.CNN与RNN的区别

CNN是卷积神经网络的缩写,RNN是循环神经网络的缩写。CNN的局限性在于其输入输出的序列是固定的,而RNN是可变的,用图形表示如下:
Python 爬虫及pytorch基础知识学习笔记_第2张图片
CNN是one to one,RNN是one to many 、many to one、many to many 。RNN适用于输入输出序列可变的场景,如:机器翻译、文本处理等。总的来说,RNN是为了处理变长的数据而设计的。

14.遇到的错误及解决方案

1.TypeError: not all arguments converted during string formatting

这个是参数不对应的问题,在用%传递参数时出现。
解决办法:
将%用.format()代替。

你可能感兴趣的:(Python 爬虫及pytorch基础知识学习笔记)