我正在尝试编写一个客户端和服务器,它们将使用 POSIX 消息队列交换数据。我尝试通过查看在互联网上看到的示例和课程文档来做到这一点。但是,我陷入困境。当我运行它时,我收到“打开文件太多”错误。这是我的代码:
客户:
int main( int argc, char *argv[]) {
//Open its queue, which is client queue
char cq_name[10];
sprintf( cq_name, "/cq%i", getpid());
printf( "Client Queue name: %s\n", cq_name);
mqd_t cq_id = mq_open( cq_name, O_CREAT | O_RDWR, 0666, NULL);
if( cq_id == -1) {
printf( "Error in cq: %s\n", strerror( errno));
return -1;
}
printf( "Name: %s\n", argv[1]);
//Connect to the server message queue
mqd_t sq_id = mq_open( argv[1], O_RDWR);
if( sq_id == -1) {
printf( "Error in sq: …Run Code Online (Sandbox Code Playgroud) 我正在尝试解析一个网站,我将在稍后的Django项目中使用它.为此,我使用的是urllib2和BeautifulSoup4.但是,我无法得到我想要的东西.BeautifulSoup对象的输出很奇怪.我尝试了不同的页面,它有效(输出正常).我以为是因为页面.然后,当我的朋友试图做同样的事情时,他得到了正常的输出.我无法弄清楚问题.
这是我要解析的网站.
这是命令"soup.prettify()"之后的奇怪输出的示例:
t d B G C O L O R = " # 9 9 0 4 0 4 " w i d t h = " 3 " > i m g S R C = " 1 p . g i f " A L T B O R D E R = " 0 " h e i g h t = " 1 " w i d t h = " 3 …Run Code Online (Sandbox Code Playgroud) 我需要将数组A的每一行与元素B的所有行相乘.例如,假设我们有以下数组:
A = np.array([[1,5],[3,6]])
B = np.array([[4,2],[8,2]])
Run Code Online (Sandbox Code Playgroud)
我想得到以下数组C:
C = np.array([[4,10],[8,10],[12,12],[24,12]])
Run Code Online (Sandbox Code Playgroud)
我可以通过使用for循环来做到这一点但我认为可能有更好的方法来做到这一点.
编辑:我想重复和平铺,但我的阵列不是那么小.它可能会产生一些内存问题.