errno

出现OSError: [Errno 98] Address already in use

匿名 (未验证) 提交于 2019-12-02 23:05:13
运行编写的TCP服务器时,当关闭后立马再次运行时,通常会弹出这个错误。这是因为此段时间处于TCP的第三次挥手结束,客户端处于TIME_WAIT阶段,这个阶段一般为2min,此时服务器的端口依然被占用,不能被使用。必须等待时间结束后才可以再次打开服务器运行。 如果不想等待的话,可以在服务器的源代码中创建套接字socket时再增加一段代码即可,如下双引号内部的代码 “tcp_server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)”。 文章来源: https://blog.csdn.net/chen6s/article/details/86720922

celery使用rabbitmq报错[Errno 104] Connection reset by peer.

匿名 (未验证) 提交于 2019-12-02 23:05:13
写好celery任务文件,使用celery -A app worker --loglevel=info启动时,报告如下错误: [2019-01-29 01:19:26,680: ERROR/MainProcess] consumer: Cannot connect to amqp://sunlight:**@127.0.0.1:5672/celery: [Errno 104] Connection reset by peer. Trying again in 4.00 seconds... 检查了很久,终于发现是celery配置的broker的url写错了, rabbitmqctl add_user sunlight sunlight123 rabbitmqctl add_vhost /celery app = Celery(__name__, broker="amqp://sunlight:sunlight123@localhost:5672/ celery ", backend="redis://localhost") 上门的标红处,显然是错误的,应该替换为如下: app = Celery(__name__, broker="amqp://sunlight:sunlight123@localhost:5672//celery", backend="redis:/

Python标准异常

匿名 (未验证) 提交于 2019-12-02 22:51:30
异常IOError 当I / O操作(如print语句,内置 open()函数或文件对象的方法)因I / O相关原因(例如“未找到文件”或“磁盘已满”)而失败时引发。 异常OSError 这个异常来源于EnvironmentError。当函数返回与系统相关的错误(不是非法参数类型或其他偶然错误)时引发。的errno属性是从一个数字错误代码errno,并且strerror属性是相应的字符串,如将被C函数被打印perror()。请参阅模块errno,其中包含由底层操作系统定义的错误代码的名称。 对于涉及文件系统路径(例如chdir()或 unlink())的异常,异常实例将包含第三个属性 filename,即传递给该函数的文件名。 Python标准异常 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIteration 迭代器没有更多的值 GeneratorExit 生成器(generator)发生异常来通知退出 StandardError 所有的内建标准异常的基类 ArithmeticError 所有数值计算错误的基类 FloatingPointError 浮点计算错误 OverflowError 数值运算超出最大限制

Python_报错:PermissionError: [Errno 13] Permission denied: 'XXXXX.xlsx'

匿名 (未验证) 提交于 2019-12-02 22:51:30
Python_报错: D:\Python36\python.exe D:/test_excel/excel_001.py Traceback (most recent call last): File "D:/test_excel/excel_001.py", line 14, in <module> wb.save("e:\\sample.xlsx") File "D:\Python36\lib\site-packages\openpyxl\workbook\workbook.py", line 367, in save save_workbook(self, filename) File "D:\Python36\lib\site-packages\openpyxl\writer\excel.py", line 282, in save_workbook archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True) File "D:\Python36\lib\zipfile.py", line 1090, in __init__ self.fp = io.open(file, filemode) PermissionError: [Errno 13] Permission denied: 'e:\\sample

重读APUE(10)-中断的系统调用

柔情痞子 提交于 2019-12-02 21:16:40
如果进程在执行一个低速系统调用而阻塞期间捕获到一个信号,则该系统调用就会被中断而不再继续执行;该系统调用返回出错,其errno设置为EINTR; 系统将系统调用分成两类:低速系统调用和其他系统调用;低速系统调用是可能会使进程永远阻塞的一类系统调用,包括: 1. 如果某类型文件(如读管道,终端设备,网络设备等)的数据不存在,则读操作可能会使调用者永远阻塞; 2. 如果数据不能被相同类型的文件立即接受,则写操作可能会使调用者永远阻塞; 3. 在某种条件发生之前打开某些类型文件,可能会发生阻塞(如要打开一个终端设备,需要先等待与之连接的调制解调器应答); 4. pause函数和wait函数; 5. 某些ioctl操作; 6. 某些进程通信函数; 在编写代码的时候一个典型的实例如下:当read被信号打断的时候,即errno=EINTR,此时重新调用read继续读取数据; 1 again: 2 if ((n = read(fd, buf, BUFFSIZE)) < 0) { 3 if (errno == EINTR) 4 goto again; /* just an interrupted system call */ 5 /* handle other errors */ 6 } 来源: https://www.cnblogs.com/wanpengcoder/p/11762763

Get Errno from Python Requests ConnectionError?

丶灬走出姿态 提交于 2019-12-02 21:08:24
I'm catching and printing Python Requests ConnectionErrors fine with just this: except requests.exceptions.ConnectionError as e: logger.warning(str(e.message)) It prints out messages such as: HTTPSConnectionPool(host='10.100.24.16', port=443): Max retries exceeded with url: /api/datastores/06651841-bbdb-472a-bde2-689d8cb8da19 (Caused by <class 'socket.error'>: [Errno 61] Connection refused) and HTTPSConnectionPool(host='10.100.24.16', port=443): Max retries exceeded with url: /api/datastores/06651841-bbdb-472a-bde2-689d8cb8da19 (Caused by <class 'socket.error'>: [Errno 65] No route to host)

FileNotFoundError: [Errno 2] No such file or directory: &#039;./download/js-tutorial.html&#039;

匿名 (未验证) 提交于 2019-12-02 20:32:16
Exception in thread Thread-1: Traceback (most recent call last): File "/home/mac126/.pyenv/versions/3.6.6/lib/python3.6/threading.py", line 916, in _bootstrap_inner self.run() File "/home/mac126/Desktop/11/day1/spider_commplete.py", line 131, in run save_url(html_content,url_str) File "/home/mac126/Desktop/11/day1/spider_commplete.py", line 41, in save_url with open(file_path,'wb') as f: FileNotFoundError: [Errno 2] No such file or directory: './download/js-tutorial.html' 这个错误很低级,不过还是写出来,希望大家引以为戒,不要像我一样粗心大意。 在项目目录添加一个文件夹就好

c++ TCP 获取客户端IP

前提是你 提交于 2019-12-02 19:42:56
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<errno.h> #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #define MAXLINE 4096 int main(int argc, char** argv) { int listenfd, connfd; struct sockaddr_in servaddr,caddr; char buff[4096]; int n; if( (listenfd = socket(AF_INET, SOCK_STREAM, 0)) == -1 ){ printf("create socket error: %s(errno: %d)\n",strerror(errno),errno); exit(0); } memset(&servaddr, 0, sizeof(servaddr)); memset(&caddr,0,sizeof(caddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(6666);

How to get the errno of an IOError?

杀马特。学长 韩版系。学妹 提交于 2019-12-02 19:06:49
C has perror and errno, which print and store the last error encountered. This is convenient when doing file io as I do not have to fstat() every file that fails as an argument to fopen() to present the user with a reason why the call failed. I was wondering what is the proper way to grab errno when gracefully handling the IOError exception in python? In [1]: fp = open("/notthere") --------------------------------------------------------------------------- IOError Traceback (most recent call last) /home/mugen/ in () IOError: [Errno 2] No such file or directory: '/notthere' In [2]: fp = open(

c++ system() raises ENOMEM

这一生的挚爱 提交于 2019-12-02 18:37:42
问题 This question is a M(not)WE of this question. I wrote a code that reproduces the error: #include <cstdlib> #include <iostream> #include <vector> int *watch_errno = __errno_location(); int main(){ std::vector<double> a(7e8,1); // allocate a big chunk of memory std::cout<<system(NULL)<<std::endl; } It has to be compiled with g++ -ggdb -std=c++11 (g++ 4.9 on a Debian). Note that the int *watch_errno is useful only to allow gdb to watch errno . When it is run under gdb , I get this : (gdb) watch