小编mmd*_*ger的帖子

WGET超时吗?

我正在使用Wget通过cron运行PHP脚本,使用以下命令:

wget -O - -q -t 1 http://www.example.com/cron/run
Run Code Online (Sandbox Code Playgroud)

脚本最多需要5-6分钟才能完成处理.WGet会等待它并将它所有时间都给它,或者它会超时吗?

linux cron wget

73
推荐指数
4
解决办法
13万
查看次数

什么时候使用imshow over pcolormesh?

我经常发现自己需要使用matplotlib在Python中创建热图样式的可视化.Matplotlib提供了几个显然做同样事情的功能. pcolormesh建议代替pcolor但是什么之间的差值(从实用的角度作为数据绘图仪)imshowpcolormesh?使用其中一个的优点/缺点是什么?在什么情况下,一方或另一方是明显的赢家?

python matplotlib

37
推荐指数
1
解决办法
2万
查看次数

为什么在没有显式return语句的情况下,递归的返回调用会突破堆栈?

我看到了一个示例程序,用于演示递归,看起来它应该不起作用,但确实如此.逻辑很清楚,但为什么即使没有返回递归的函数调用它也能工作?return即使没有请求,看起来命令也会突破堆栈.这是语言标准还是gcc的东西?我在Windows和Linux上使用gcc编译的C和C++看到了它.

#include <iostream>
#include <cstdlib>

using namespace std;

int isprime(int num, int i)
{
   if (i == 1) {
      return 1;
   }
   else {
      if (num % i == 0)
         return 0;
      else
         isprime(num, i-1); // should be returned
   }
}


int main(int argc, char** argv)
{
   int input = atoi(argv[1]);
   cout << input << "\t" << isprime(input, input/2) << "\n";
}
Run Code Online (Sandbox Code Playgroud)

c++ recursion

18
推荐指数
2
解决办法
506
查看次数

为什么numpy cov对角元素和var函数有不同的值?

In [127]: x = np.arange(2)

In [128]: np.cov(x,x)
Out[128]:
array([[ 0.5,  0.5],
       [ 0.5,  0.5]])

In [129]: x.var()
Out[129]: 0.25
Run Code Online (Sandbox Code Playgroud)

为什么这是行为?我认为协方差矩阵对角元素应该是系列的方差.

python numpy

10
推荐指数
1
解决办法
1882
查看次数

使用PHP从URL获取"property og"元标记

我想创建一个类似于Facebook使用的发布功能(您将链接粘贴到文本框中,点击帖子并发布标题,描述和图像).我意识到最好提取具有og属性的元标记,例如"og:title"和"og:image",因为如果我使用普通标记,有时它们会有换行符和其他类似的东西而且会出现错误.

有没有办法使用PHP获取这些标签的内容,但没有AJAX或其他自定义解析器?起点是:

<?php

$url = $_POST['link'];

?>
Run Code Online (Sandbox Code Playgroud)

我们通过POST方法获取上一页的URL,但其余的怎么做?

php url fetch meta-tags opengraph

8
推荐指数
2
解决办法
2万
查看次数

是否可以在main中选择构造函数而无需编写复制构造函数?

真实的例子显然要长得多,但这总结了我的问题:

class Object
{
 int mInt1,mInt2;
 Object::Object();
 Object::Object(int param1);
 Object::Object(int param1, int param2);
};
Object::Object(){}
Object::Object(int param1):mInt1(param1){}
Object::Object(int param1, int param2):mInt1(param1),mInt1(param2){}
Run Code Online (Sandbox Code Playgroud)

然后在主要:

if (type1){
  Object instance(param1);
}
else{
  Object instance(param1,param2);
}
// do stuff with instance
Run Code Online (Sandbox Code Playgroud)

哎呦!这不起作用,实例超出了后续程序的范围.

Object instance;
if (type1){
  instance = Object(param1);
}
else{
  instance = Object(param1,param2);
}
// do stuff with instance
Run Code Online (Sandbox Code Playgroud)

但是现在我遇到了麻烦,因为我没有定义复制构造函数.我真的不想写一个拷贝构造函数,因为我的实际类有几十个成员,其中许多是非基本类型,可能需要更多的工作来复制.

具体来说,我得到了

main.cpp: error: use of deleted function ‘Object& Object::operator=(Object&&)’
         instance = Object(param1);
                  ^
note: ‘Object& Object::operator=(Object&&)’ is implicitly deleted because the default definition would …
Run Code Online (Sandbox Code Playgroud)

c++ scope copy-constructor move-constructor c++11

8
推荐指数
2
解决办法
386
查看次数

在第一个非匹配线后使grep停止

我正在尝试使用grep来浏览一些日志,只选择最新的条目.这些日志有多年的繁忙交通,所以这很愚蠢

    tac error.log | grep 2012
    tac error.log | grep "Jan.2012" 
Run Code Online (Sandbox Code Playgroud)

等等

并等待10分钟,而它经过数百万行我已经知道不会匹配.我知道可以-m选择在第一场比赛时停下来,但我不知道如何让它在第一场比赛中停止.我可以做类似的事情,grep -B MAX_INT -m 1 2011但这不是最佳解决方案.

grep可以处理这个或者awk会更有意义吗?

bash grep

6
推荐指数
1
解决办法
2023
查看次数

你可以用一个lambda比较器交换std :: queue吗?

我试图通过交换使用/sf/answers/49641301/中的示例清除std :: queue .但是,由于"删除功能"错误,它似乎不适用于lambda比较器.

最小 工作的 失败的例子:

#include <queue>
#include <vector>
using namespace std;
int main(){
    typedef pair<int,float> ifpair;
    auto comp = []( ifpair a,  ifpair b ) { return a.second > b.second; };
    typedef priority_queue< ifpair , vector<ifpair>, decltype( comp ) > t_npq;
    t_npq npq( comp );
    //do something with npq. finish using it (without emptying it) and clear for next round
    t_npq empty( comp );
    swap(npq , empty);
}
Run Code Online (Sandbox Code Playgroud)

编译

g++ -std=c++11 /tmp/test.cpp -o /tmp/o
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: …

c++ lambda stl deleted-functions c++11

6
推荐指数
1
解决办法
849
查看次数

使用boost lib(高于16位)的更高精度浮点数

我正在运行物理实验的模拟,所以我需要非常高的浮点精度(超过16位).我使用Boost.Multiprecision,但无论我怎么做,我都无法获得高于16位的精度.我使用C++和eclipse编译器运行模拟,例如:

#include <boost/math/constants/constants.hpp>
#include <boost/multiprecision/cpp_dec_float.hpp>
#include <iostream>
#include <limits>

using boost::multiprecision::cpp_dec_float_50;

void main()
{
    cpp_dec_float_50 my_num= cpp_dec_float_50(0.123456789123456789123456789);
    std::cout.precision(std::numeric_limits<cpp_dec_float_50>::digits10);
    std::cout << my_num << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

输出是:

0.12345678912345678379658409085095627233386039733887
                   ^
Run Code Online (Sandbox Code Playgroud)

但它应该是:

0.123456789123456789123456789
Run Code Online (Sandbox Code Playgroud)

如您所见,在16位数之后它是不正确的.为什么?

c++ precision boost multiprecision

6
推荐指数
1
解决办法
991
查看次数

导入 pandas 时使用 lzma 发出用户警告

我已经使用 python 3.7.3 在我的服务器上安装了 debian 8,当我尝试运行此代码时

import pandas as pd

d = {'Apple':{'Weight':12,'Colour':'red'},
     'Banana':{'Weight':11,'Colour':'yellow','Bunched':2}
    }

df = pd.DataFrame.from_dict(d, orient='index') # convert dict to dataframe

df.to_csv('fruits.csv') # write dataframe to file
Run Code Online (Sandbox Code Playgroud)

我收到这个警告:

/usr/local/lib/python3.7/site-packages/pandas/compat/__init__.py:84: UserWarning: Could not import the lzma module. Your installed Python is incomplete. Attempting to use lzma compression will result in a RuntimeError.
  warnings.warn(msg)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

我尝试再次编译 python 3.7.3 并安装 python 3.7.4 (不成功,因为我遇到了 gcc 错误)

python pandas

5
推荐指数
0
解决办法
9378
查看次数