最近刚刚接触Python,为了养成好习惯,遇到了诸多的问题,林林总总,在这里简单记录下:
编写简单的python语句时:
module level import not at top of file
解决:import不在文件的最上面,可能引用之前还有代码,把import引用放到文件的最上部就可以消除警告了。若果import失败,则库内不存在相关文件,需要进行下载安装
expected 2 blank lines,found 0
解决:期望上面有2个空白行,发现0个,添加两个空白行就可以了。
function name should be lowercase
解决:函数名改成小写。
indentation contains tabs
解决:缩进中有tab空格,推荐用四个空格缩进。
Indent expected
解决:意思是没有缩进,解析器报错了,添加缩进就可以了。
Unexpected indent
解决:不期望的缩进,重新添加符合规范的缩进或者Alt+Enter快捷键会提示你转化成规范的缩进。
missing whitespace around operator
解决:意思是操作符(‘=’,‘<’等)前后丢失了空格,举个例子a=b会报警告,a = b正常。
no newline at end of file
解决:文件尾部没有新起一行,光标移到最后回车即可。
blank line at end of file
解决:文件最后多了一个空白行,删掉一个。
Shadows name ‘xxx’ from outer scope
解决:意思是‘xxx’在外部已经定义了,修改一下‘xxx’-> ‘uuu’或者其他符合要求的修改都可。
block comment should start with ‘# ’
解决:以"#"开始,空一格,加注释
inline comment should start with ‘# ’
解决:注释信息单独放一行,多行注释需要多行“#”
multiple statements on one line (colon)
解决:多行语句写到一行了,Python3.0好像不允许写到一行了,例如if x == 2: print(something)这样写就会有警告,必须要分两行。像下面这样
if x == 2:
print(something)
Symplify chained comparision
解决:警告的意思是可简化连锁比较,下面举个例子
应用篇
在scrapy中引入splash中动态爬取页面时,有尝试获取网页html源代码,但是一直获取不到渲染后的页面,‘
在多番验证后发现,
原来是wait没有设定的原因,
其中道理大概是scrapy-splash并没有返回渲染之后的响应页面,而是返回了在url链接在浏览器打开那一刻的响应页面,
wait 时间差的缘故,使得二者中间缺少了最为关键的js渲染服务。
错误(多出空格)
错误(忘了括号)