前几天在 Mac 上安装 Scrapy,按照官方文档的步骤使用 pip 安装 scrapy 后报一个权限错误 OSError: [Errno 1] Operation not permitted: '/...var/folders/6t/h404bjcd5tb_4q86tpv_251rv_0h0j/T/pip-sYsqDS-uninstall/System/Library/Frameworks/Python.framework...使用此命令可以正常安装 Scrapy,安装完成之后运行 Scrapy,发现又报一个引用错误 ImportError: cannot import name xmlrpc_client,搜索之后发现解决办法是要手动删除机子上的...我们这里遇到的问题就是跟 SIP 有关,解决办法就是进入 Recovery 模式关闭它。...关闭的具体步骤是,重启 Mac,按住 cmd + R,等待进入 Recovery 界面,在 Recovery 界面唤出命令行,执行以下命令然后重启机器即可: csrutil disable
断言语句失败 AttributeError 对象没有这个属性 EOFError 没有内建输入,到达EOF 标记 EnvironmentError 操作系统错误的基类 IOError 输入/输出操作失败...当使用2元组创建此类型的异常时,第一个项目在实例的errno属性上可用(假定为错误编号),第二个项目可用于该 strerror属性(通常是关联的错误消息)。元组本身也可以在args属性上使用。...在执行期间,定期检查中断。当内置函数input()或raw_input()正在等待输入时,键入的中断也会引发此异常。...在用户定义的基类中,当抽象方法需要派生类覆盖该方法时,抽象方法应引发此异常。 异常OSError 这个异常来源于EnvironmentError。...例如,err.object[err.start:err.end]给出编解码器失败的特定无效输入。 encoding 引起错误的编码的名称。 reason 描述特定编解码器错误的字符串。
内置异常可以由解释器或内置函数生成。 错误发生时,Python中会引发一些内置的异常。...关闭生成器或协程时,将引发GeneratorExit异常。...在sys.modules中找不到None时,也会引发此错误。 exception IndexError 当引用的序列超出范围时,引发IndexError。...,包括I / O故障(例如“找不到文件”或“磁盘已满”错误)时,将引发OSError异常。...在import语句中或在调用内置函数exec()或eval()时,或在读取初始脚本或标准输入时,可能会发生语法错误。
异常 描述:异常一般在ide无法直接检测出来,在我们执行到代码语句时,若有异常则会自动抛出 内置异常 BaseException 所有内置异常的基类 需要自定义异常类的时候不能继承它 Exception...的子类 AssertionError:assert断言失败时引发 AttributeError:属性引用(如: 实例对象.方法 )失败或赋值失败(如: 对象=值 ) ImportError:加载模块失败时引发...;是ImportError的子类 IndexError:取序列索引超出范围 KeyError:在字典中找不到指定的Key TypeError:当一个操作或函数被应用于类型不适当的对象时将被引发,传入参数的类型错误...:解码错误 OSError:调用操作系统函数时报错引发该异常,一般是I/O操作 OS 异常 以下所有异常都是OSError的子类 FileExistsError:文件已存在(如:创建一个文件) FileNotFoundError...# 其他异常 Unexpected error: 知识点 最后一个 不指定异常类时,可以作为通配符,若前面所有异常类都没有匹配上,则会自动匹配这个 except ,并执行里面代码,注意:最好要raise
断言语句失败 AttributeError 对象没有这个属性 EOFError 没有内建输入,到达EOF 标记 EnvironmentError 操作系统错误的基类 IOError 输入/输出操作失败...OSError 操作系统错误 WindowsError 系统调用失败 ImportError 导入模块/对象失败 LookupError 无效数据查询的基类 IndexError 序列中没有此索引(index...若为False,则中断程序并调用默认的异常处理器,同时输出指定的提示信息。...在使用类文件的流对象时,都需要单独的调用close()来关闭资源。...with..as语句能够实现在with语句块执行完后,自动的关闭文件。如果with语句块中触发异常,会调用默认的异常处理器处理,而且文件仍然能够正常关闭。
[这一步是可选的](译者注:这里指步骤5,因为守护程序不一定需要写文件) 6. 调用‘close()’关闭文件描述符0,1和2。...这样我们释放了从父进程继承的标 准输入,标准输出,和标准错误输出。我们没办法知道这些文描述符符可能 已经被重定向去哪里。...如果你认为有可能有打开的文件描 述符,你需要关闭它们,因为系统有一个同时打开文件数的限制。 7. 为标准输入,标准输出和标准错误输出建立新的文件描述符。...准确操作这些描述符是基于各自 爱好;比如说,如果你有一个日志文件,你可能希望把它作为标准输出和标 准错误输出打开,而把‘/dev/null’作为标准输入打开;作为替代方法...,你可 以将‘/dev/console’作为标准错误输出和/或标准输出打开,而‘/dev/null’作 为标准输入,或者任何其它对你的守护程序有意义的结合方法。
一、python异常 1、Python异常 python运行时发生错误称作异常 语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成...、计算或者输出结果需要的过程无法执行等 Python异常是一个对象,表示错误或意外情况 在Python检测到一个错误时,将触发一个异常 Python可以通过异常传导机制传递一个异常对象,...发出一个异常情况出现的信号 程序员也可以在代码中手动触发异常 Python异常也可以理解为:程序出现了错误而在正常控制流以外采取的行为 第一阶段:解释器触发异常,此时当前程序流将被打断...,如关闭文件或断开服务器连接 等 finally中的所有代码执行完毕后会继续向上一层引发异常 语法 try: try_suite finally: finally_suite 3...UnicodeError 在Unicode的字符串之间进行转换时发生的错误 ValueError 应用于某个对象的操作或函数,这个对象具有正确的类型,但确有不适
1 守护进程 1.1 守护进程 守护进程是系统中生存期较长的一种进程,常常在系统引导装入时启动,在系统关闭时终止,没有控制终端,在后台运行。...5、关闭不再需要的文件描述符。根据具体情况来定。...6、某些守护进程可以打开/dev/null使其具有文件描述符0、1、2,这使任何一个试图读标准输入、写标准输出或标准错误的库例程都不会产生任何效果。...============' #在调用daemon_init函数前是可以使用print到标准输出的,调用之后就要用把提示信息通过stdout发送到日志系统中了 daemon_init('/dev/...tmp/daemon_error.log会记录错误运行日志,在/tmp/daemon_stdout.log会记录标准输出日志。
4、重定向孙子进程的标准输入流,标准输出流,标准错误到/dev/null #!...tmp/daemon_error.log会记录错误运行日志 # 在/tmp/daemon_stdout.log会记录标准输出日志。...2.修改子进程的工作目录 子进程在创建的时候会继承父进程的工作目录,如果执行的程序是在U盘里面,就会导致U盘不能卸载。...4.修改umask 由于umask会屏蔽权限,所有设定为0,这样可以避免读写文件时碰到权限问题 5.fork孙子进程,子进程退出 经过上面几个步骤后,子进程会成为新的进程组老大,可以重新申请打开终端,为了避免这个问题...,fork孙子进程处理, 6.重定向孙子进程的标准输入流,标准输出流,标准错误流到/dev/null 因为是守护进程,本身已经脱离了终端,那么标准输入流,标准输入流,标准错误流就没有什么意义了,所以都转向到
Scrapy的Request和Response对象用于爬网网站,在介绍Scrapy框架原理之前先具体讲解下Request和Response对象。...通常,Request对象在爬虫程序中生成并传递到系统,直到它们到达下载程序,后者执行请求并返回一个Response对象,该对象返回到发出请求的爬虫程序,如下图15-1所示。 ?...10、dont_filter(boolean类型) 表示此请求不应由调度程序过滤。当您想要多次执行相同的请求时忽略重复过滤器时使用。小心使用它,或者你会进入爬行循环。默认为False。...11、errback(callable类型) 如果在处理请求时引发任何异常,将调用的函数。这包括失败的404 HTTP错误等页面。它接收一个Twisted Failure实例作为第一个参数。...xpath(query) 使用XPath选择器在Response中提取数据,更多内容访问爬虫课程(八)|豆瓣:十分钟学会使用XPath选择器提取需要的元素值 css(query) 使用CSS选择器在
返回:成功=0;失败=-1,errno=错误号。...返回:成功=0;失败=-1,errno=错误号。...返回:成功=0;失败=-1,errno=错误号。...错误发生时返回一个-1并且设置相应的errno值。...可以设为下列值: ·0-------不允许继续接收数据 ·1-------不允许继续发送数据 ·2-------不允许继续发送和接收数据,均为允许则调用close () shutdown在操作成功时返回
# 属性引用或赋值失败 +-- BufferError # 无法执行与缓冲区相关的操作时引发 +-- EOFError # 当input()函数在没有读取任何数据的情况下达到文件结束条件...# 与连接相关的异常的基类 | | +-- BrokenPipeError # 另一端关闭时尝试写入管道或试图在已关闭写入的套接字上写入 | | +...| +-- ConnectTimeout(+-- Timeout) # (双重继承,下同)尝试连接到远程服务器时请求超时,产生此错误的请求可以安全地重试。...(+-- TypeError) # 此响应的内容已被使用 +-- RetryError # 自定义重试逻辑失败 +-- UnrewindableBodyError # 尝试倒回正文时...下面创建了一个MyError类,基类为Exception,用于在异常触发时输出更多的信息。
/n", buf, len); else { printf ("消息'%s'发送失败!...正确用法如下:/n/t/t%s IP地址 端口/n/t比如:/t%s 127.0.0.1 80/n此程序用来从某个 IP 地址的服务器某个端口接收最多 MAXBUF 个字节的消息", argv[0],...错误代码是%d,错误信息是'%s'/n", errno, strerror(errno)); else printf("对方退出了,聊天终止!...printf ("消息'%s'发送失败!...错误代码是%d,错误信息是'%s'/n", buffer, errno, strerror(errno)); break; } else printf ("消息:%s/t发送成功,共发送了%d
引言 使用 Python 开发 CLI 工具并打包发布到 PyPI 打包 Python 并发布到 PyPi 使用 Python 开发 CLI 工具 打包并发布 方式1: setup.py 参考: 在...尝试另外一种方式 curl curl -sSL https://install.python-poetry.org | python - 还是相同错误 失败 curl -sSL https://install.python-poetry.org...Python读取文件时出现UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position ......path: c:\users\yiyun\appdata\roaming\python\python38\site-packages\pyimaging-0.2.0.dist-info\RECORD 此错误也是相同解决方法...2] No such file or directory 参考: ERROR: Could not install packages due to an OSError: [Errno 2] No such
Scrapy是一个web爬行框架,开发人员可以编写代码来创建spider,它定义了某个站点(或一组站点)将如何被爬行。...当你同时做某件事时,你要等到它完成后再去做另一件事,这是同步。当你异步执行某个任务时,可以在它完成之前转到另一个任务,这是异步。...库中的urllib2来实现此功能。...由于Scrapy不仅处理内容提取,还处理许多其他任务,如下载html,因此Scrapy的学习曲线要陡峭得多,因此需要阅读一些Scrapy教程或Scrapy文档来了解它的工作原理,并努力成为一名Scrapy...例如,如果你想要在你的爬虫项目中使用代理,你可以找到项目scrapy-proxies,利用代理帮助你从列表中使用随机代理发送HTTP请求,完成这些,你只需要改一些配置。
这是因为在发送信息阶段,recvfrom / sendto 等函数会自动将需要发送的信息转换为网络序列,接收信息时同样会将其转换为主机序列,所以不需要手动转换 如果使用的 UDP 协议,那么初始化服务器到此就结束了...4.日志输出 4.1.日志的重要性 在之前的编程经历中,如果我们的程序运行出现了问题,都是通过 标准输出 或 标准错误 将 错误信息 直接输出到屏幕上,debug 阶段这样使用没啥问题,但如果出错的是一个不断在运行中的服务...、标准输出、标准错误 返回值:成功返回 0,失败返回 -1 一般情况下,daemon() 函数的两个参数都只需要传递 0,默认工作在 / 路径下,默认重定向至 /dev/null /dev/null..., strerror(errno)); exit(CHDIR_ERR); } // 5、重定向标准输入输出错误 int fd = open("/dev/null...(errno)); exit(OPEN_ERR); } // 重定向标准输入、标准输出、标准错误 dup2(fd, 0); dup2(fd, 1);
如下所示: 1.BaseException — 所有异常的基类 2.SystemExit — 解释器请求退出 3.KeyboardInterrupt — 用户中断执行(通常是输入^C) 4.Exception...— 常规错误的基类 5.StopIteration — 迭代器没有更多的值 6.GeneratorExit — 生成器(generator)发生异常来通知退出 7.StandardError — 所有的内建标准异常的基类...标记 15.EnvironmentError — 操作系统错误的基类 16.IOError — 输入/输出操作失败 17.OSError — 操作系统错误 18.WindowsError — 系统调用失败...— Unicode 解码时的错误 37.UnicodeEncodeError — Unicode 编码时错误 38.UnicodeTranslateError — Unicode 转换时错误 39.Warning...5.异常中的 else 如果判断完没有异常之后还想做其他事,就可以使用下面这样的else语句,注意:是在try中没有异常情况下,才会执行else之后的代码。
说明: ·此程序看不到任何错误,因为用except捕获到了IOError异常,并添加了处理的方法 ·pass表示实现了相应的实现,但什么也不做;如果把pass改为print语句,那么就会输出其他信息...操作系统错误的基类 IOError 输入/输出操作失败 OSError 操作系统错误 WindowsError...5.捕获所有异常 ? ? 6.else 在if中,它的作用是当条件不满足时执行的实行;同样在try...except...中也是如此,即如果没有捕获到异常,那么就执行else中的事情 ?...在程序运行的时候,按Ctrl+c中断(取消)程序。 我们可以观察到KeyboardInterrupt异常被触发,程序退出。但是在程序退出之前,finally从句仍然被执行,把文件关闭。...如果所有的函数都没有处理,那么此时就会进行异常的默认处理,即通常见到的那样 ·注意观察上图中,当调用test3函数时,在test1函数内部产生了异常,此异常被传递到test3函数中完成了异常处理,而当异常处理完后
25.python 异常处理 最后更新于:2019-10-30 10:12:38 在python开发中,代码书写时难免有疏忽或者意向不到的bug,导致程序run的过程中有可能会直接崩溃;然后对于程序猿而言...— 常规错误的基类 5.StopIteration — 迭代器没有更多的值 6.GeneratorExit — 生成器(generator)发生异常来通知退出 7.StandardError — 所有的内建标准异常的基类...标记 15.EnvironmentError — 操作系统错误的基类 16.IOError — 输入/输出操作失败 17.OSError — 操作系统错误 18.WindowsError — 系统调用失败...— Unicode 解码时的错误 37.UnicodeEncodeError — Unicode 编码时错误 38.UnicodeTranslateError — Unicode 转换时错误 39.Warning...5.异常中的 else 如果判断完没有异常之后还想做其他事,就可以使用下面这样的else语句,注意:是在try中没有异常情况下,才会执行else之后的代码。
CURL错误列表 curl_exec($ch);//执行curl if (curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch);//出错输出错误...} curl_close($ch);//关闭curl 同理,像正则,Json,数据库这些出错时基本都会有提供有帮助的错误信息 CURL状态码列表 状态码 状态原因 解释 0 正常访问 1 错误的协议...49 TELNET格式错误 不合式的telnet 选项。 51 远程服务器的SSL证书 peer 的SSL 证书或SSH 的MD5指纹没有确定。...55 无法发送网络数据 发送网络数据失败。 56 衰竭接收网络数据 在接收网络数据时失败。 57 58 本地客户端证书 本地证书有问题。 59 无法使用密码 无法使用指定的SSL 密码。...64 FTP失败 要求的FTP 的SSL 水平失败。 65 倒带操作失败 发送此数据需要的回卷(rewind)失败。 66 SSL引擎失败 初始化SSL 引擎失败。
领取专属 10元无门槛券
手把手带您无忧上云