文章目录
一、python问题
1.匿名函数变量定义引用问题
下面的输出结果全是18
def TestFun():
temp = [lambda x : i*x for i in range(10)]
return temp
for EveryLambda in TestFun():
print(EveryLambda(2))
解:
因为python中变量是先定义再引用,(同一个地址重复赋值导致定义的数值被覆盖)而lambda匿名函数又是全执行完了再引用,所以引用的值(i)全是最后一个(9)
加一个默认参数
def TestFun():
temp = [lambda x,i=i : i*x for i in range(10)]
return temp
for EveryLambda in TestFun():
print(EveryLambda(2))
加了默认参数之后,python解释器每遇到默认参数时,都会初始化默认参数(i),这样,每循环一次,i就被引用一次。
python换源
用户目录下新建pip文件夹,文件夹中新建pip.ini文件,将下列写入文件夹
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
常见国内镜像源
(1)阿里云 http://mirrors.aliyun.com/pypi/simple/
(2)豆瓣http://pypi.douban.com/simple/
(3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
(4)中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
(5)华中科技大学http://pypi.hustunique.com/
windows中批量安装插件包时跳过报错继续安装
import sys
from pip._internal import main as pip_main
def install(package):
pip_main(['--default-timeout=1000','install','-U', package])
if __name__=='__main__':
with open(sys.argv[1]) as f:
for line in f:
install(line)
上方代码假如在pips_install.py
执行此脚本
python pips_install.py [批量安装.txt 文件]
二、pycharm
1.使用scrapy导包失败(找不到item模块)
整个项目,右键。
三、爬虫之scrapy
配置
- 上面的找不到item模块
#其实就看你是哪个模块运行的框架,然后目录名.item impore 类名就行 #假如创建的爬虫时MySpider from MySpider.item import 类名 编辑器会报错,不用管他,直接运行
语法
- 使用crawlspider的时候,TypeError: ‘Rule’ object is not iterable
这是因为rules就有一个 Rule,而且rules又不是列表,要在Rule后面加逗号(,)
-Rule里面 allow的值
直接填url的格式(页面中href的值),任何多余的都不要加
四、pyinstaller打包问题
ps:运行软件没问题,但是打包后报错:缺失jarcor.text
解决方法
总结
持续更新遇到的问题