Ubuntu、Python、pycharm使用过程中问题解决方法笔记
1、关于pycharm导入lxml时无法导入etree的问题:
出现问题时我导入的是lxml 3.5.1版本,无法通过from lxml import etree导入etree,从网上百度了很多还是没法解决,于是我尝试卸载lxml,再从终端使用sudo pip3 install lxml安装lxml,使用这个命令时默认安装了最新版lxml 4.4.1,所以得出结论应该是版本不匹配的问题,最后发现pycharm里可以使用上述语句导入了!!!
2、关于使用my_fake_useragent模块随机生成User-Agent的问题:
之前一直用的是用fake_useragent随机生成User-Agent
1 from fake_useragent import UserAgent 2 ua = UserAgent().random 3 print(ua)
但是在自己私人电脑使用的时候无法使用fake_useragent,只看到一个很像的my_fake_useragent,于是就安装了这个包,发现没法用UserAgent().random导入,最后尝试使用以下方法可以解决(只是在random后面简单地加了个括号,哈哈):
from my_fake_useragent import UserAgent ua = UserAgent().random() print(ua)
当然也可以在终端通过sudo pip3 install fake_useragent安装fake_useragent包来解决
3、sudo nautilus可以获得管理员权限打开和运行所有文件
4、rm、rm -r和rm -rf,mkdir和mkdir -p的区别
rm只能删除空目录,当需要删除非空目录时,就需要用到rm -r命令,rm -r表示通过递归的方式删除该目录及该目录下的所有文件,属于增量操作,rm -rf表示强制删除,不需要确认;mkdir表示创建目录,如果需要创建A目录下的B目录则需要通过命令mkdir A ,然后cd A, mkdir B,而mkdir -p则可以通过递归的方式创建新的目录并在新目录下再创建新目录,如实现上述功能可以使用命令mkdir -p A/B,也属于增量操作。
5、TypeError: 'NoneType' object is not iterable
在if判断语句中,当条件不满足,并且没有else语句时,函数默认返回none;在没有return语句时,也会默认返回none;调用时,将none赋值给多个变量时就会提示这个错误。