小编jwb*_*ley的帖子

Excel Formula - 是的,我说excel?

如果A1包含0.3我B1想说1

如果说A10.45我B1想说0

如果它在0.3和0.45之间的任何东西我想要它说比例差,所以如果A1说0.375,B1应该说0.5在0.3和0.45之间的中间.

甚至可能吗?我在考虑嵌套,IF但我看不出如何实际到达那里?

excel excel-formula

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

在Python中对日期列表进行排序

我在python中有一个列表,它是名称是创建日期的目录;

import os
ConfigDir = "C:/Config-Archive/"
for root, dirs, files in os.walk(ConfigDir):
    if len(dirs) == 0: # This directory has no subfolder
        ConfigListDir = root + "/../" # Step back up one directory
        ConfigList = os.listdir(ConfigListDir)
        print(ConfigList)

['01-02-2014', '01-03-2014', '01-08-2013', '01-09-2013', '01-10-2013']
Run Code Online (Sandbox Code Playgroud)

我想要最新的目录,就是那个例子01-03-2014,列表中的第二个目录.日期是DD-MM-YYYY.

可以使用lamba排序键对其进行排序,还是应该进行简单的排序并编写一个简单的排序函数?

python sorting date

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

c ++对数组的引用

我不能创建到一个参考unsigned char阵列zmyfunc().我已经尝试了几种方法但是无法弄明白.这是我最近的尝试:

int myfunc (int &y, unsigned char (&z)[2]);

int main(int argc, char *argv[]) {
 int y = 1;
 unsigned char z[2];

 int x = myfunc(y, z[2]);
}

int myfunc(int &y, unsigned char (&z)[2]) {
 y = 123;
 z[0] = foo;
 z[1] = bar;
 return 456;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

error: in passing argument 2 of ‘int myfunc(int&, unsigned char (&)[2])’
Run Code Online (Sandbox Code Playgroud)

对于线 int myfunc (int &y, unsigned char (&z)[2]);

和:

error: invalid initialization of reference of …
Run Code Online (Sandbox Code Playgroud)

c++ char pass-by-reference

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

如何在没有循环的连续变换管道中显示每个步骤的结果?

考虑以下示例Bash one-liner,其中字母"h","e"和"o"一次一个地从单词"hello"中删除,按顺序排列.只留下两个"l"字母;

$ echo "hello" | tr -d h | tr -d e | tr -d o
ll
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法,用于在一个班轮内向屏幕显示每个命令的输出,因此运行它的其他人可以看到发生了什么.继续上面的例子,我想输出如下;

$ echo "hello" | tr -d h | tr -d e | tr -d o
hello
ello
llo
ll
Run Code Online (Sandbox Code Playgroud)

这可能吗?根据上面单行的操作,我们将命令的输出带到垂直管道的命令.所以我假设我必须从管道中断打印到stdout,这会中断我写的"命令链".或者也许tee可以在这里使用,但我似乎无法实现欲望的影响. 更新:tee不会工作,因为它的输出仍然在管道的边界内,呃!

非常感谢.

bash pipe

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

Python新手; 拆分一个字符串

我正在尝试为一些开源软件编写一个补丁,因为它不能完全符合我的要求 - 除了我根本不懂Python!我希望这很简单,但它打败了我.

背景:我正在编写的补丁是用于管理KVM虚拟机集群的Ganeti,但它不支持KVM和Qemu的所有可能的命令行选项,例如USB传递,所以我试图修改它以允许这个.

kvm_cmd.extend()用于添加将在VM启动时传递的KVM CLI args数组.如果参数是空格分隔的,则每个参数变为单独的字符串,例如-usb -device usb-host,hostbus=1,hostdev=14变为"-usb", "-device", "usb-host,hostbus=1,hostdev=14".

我在编译代码后运行以下命令:

gnt-instance modify -H usb_pass="1;14"
Run Code Online (Sandbox Code Playgroud)

我想将此添加到现有的命令行参数列表中"-usb -device usb-host,hostbus=1,hostdev=14".这是我添加的代码(以及在其他地方声明变量; HV_USBPASSTHROUGH是一个字符串,但这是魔术发生的地方)

usb_pass = instance.hvparams[constants.HV_USBPASSTHROUGH]
if usb_pass:
    usb_pass_arr = []
    usb_pass_arr = usb_pass.split(";")
    kvm_cmd.extend(["-usb", "-device", "usb-host,hostbus=%s,hostaddr=%s" %
                    usb_pass_arr])
Run Code Online (Sandbox Code Playgroud)

我通过上面的代码运行上面的命令得到以下错误: Could not start instance: Error while executing backend function: not enough arguments for format string

python

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

不同的BASH退出状态代码

我正在用C86编写一个用于x86 Linux的程序.我希望使用自己的客户退出代码来帮助用户在程序未按预期执行时调试问题.

举个例子,假设程序是命令行计算器,我想返回以下退出代码并在手册页中记录它们;

  1. 计算完成并将结果打印到屏幕(正常操作) - 返回0
  2. 提供的操作数无效(基本上是语法错误!) - 返回1
  3. 其他一些错误 - 返回2
  4. 另一个错误 - 返回3

我看过几个像这样的页面让我觉得我无法返回任何我喜欢的退出代码.是否有任何官方规则(BASH或Linux标准/指南)我应该遵循这里,除了0 ==正常退出?

linux bash exit-code

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

Java逻辑与IF

我想要执行4'if'语句,如果它可以这样说; 我想在事情发生之前检查四个值.我已经把:

if (a==1 && b==2 && c==3 && d==4) {
 foo;
}
Run Code Online (Sandbox Code Playgroud)

堆叠逻辑AND这样的首选方法或四个单独的IF语句,一个在另一个首选?逻辑ANDs方法对我来说似乎更有效但是它们不应该像这样堆叠的原因/时间/地点?或者它始终是首选方法?

java logic

0
推荐指数
1
解决办法
1535
查看次数

为什么malloc前面有(void*)?

void* buffer = (void*)malloc(100);
Run Code Online (Sandbox Code Playgroud)

通过为malloc()函数添加前缀(void*),实现了什么,我们是否重写了返回类型?

c++ function

0
推荐指数
1
解决办法
144
查看次数

PHP:如何从函数返回多维数组

我的代码类似于;

function myFunc() {
    $myArry = array();
    $myArry[1]['first'] = "First";
    $myArry[1]['second'] = "Second";
    $myArry[2]['first'] = "First";
    $myArry[2]['second'] = "Second";
    $myArry[3]['first'] = "First";
    $myArry[3]['second'] = "Second";
    echo "before return: ".count($myArry);
    return $myArry;
}

// main code
$returnedArry = array(myFunc());
echo "after return: ".count($returnedArry);
Run Code Online (Sandbox Code Playgroud)

输出:

before return: 3
after return: 1
Run Code Online (Sandbox Code Playgroud)

这里发生了什么,有人可以解释一下吗?另外,我该怎么办?

谢谢.

php arrays return-value multidimensional-array

0
推荐指数
1
解决办法
36
查看次数

Bash/Linux使用自定义字段分隔符按第3列排序

我似乎无法按照我的意愿对以下数据进行排序;

find output/ -type f -name *.raw | sort 
output/rtp.0.0.raw
output/rtp.0.10.raw
output/rtp.0.11.raw
output/rtp.0.12.raw
output/rtp.0.13.raw
output/rtp.0.14.raw
output/rtp.0.15.raw
output/rtp.0.16.raw
output/rtp.0.17.raw
output/rtp.0.18.raw
output/rtp.0.19.raw
output/rtp.0.1.raw
output/rtp.0.20.raw
output/rtp.0.2.raw
output/rtp.0.3.raw
output/rtp.0.4.raw
output/rtp.0.5.raw
output/rtp.0.6.raw
output/rtp.0.7.raw
output/rtp.0.8.raw
output/rtp.0.9.raw
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我没有向sort命令传递任何参数.无论我使用什么选项,我都无法接近我想要的结果.我想要以下输出;

find output/ -type f -name *.raw | sort 
output/rtp.0.0.raw
output/rtp.0.1.raw
output/rtp.0.2.raw
output/rtp.0.3.raw
output/rtp.0.4.raw
output/rtp.0.5.raw
output/rtp.0.6.raw
output/rtp.0.7.raw
output/rtp.0.8.raw
output/rtp.0.9.raw
output/rtp.0.10.raw
output/rtp.0.11.raw
output/rtp.0.12.raw
output/rtp.0.13.raw
output/rtp.0.14.raw
output/rtp.0.15.raw
output/rtp.0.16.raw
output/rtp.0.17.raw
output/rtp.0.18.raw
output/rtp.0.19.raw
output/rtp.0.20.raw
Run Code Online (Sandbox Code Playgroud)

我已尝试使用-t .选项将字段分隔符设置为句点.此外,我已经尝试用-k指定字段选项,-g,-h,-n,但没有的选项帮助.除非我没有正确理解手册页而忽略了我的答案,否则我在手册页中看不到任何可以按要求执行的操作.

我能否生成我需要的结果sort,如果是,如何?

此外,它变得罕见但有时第二列显示为'0'一直向下可能会增加.可以考虑这种因素吗?

linux sorting

0
推荐指数
1
解决办法
4935
查看次数

Bash:在调用shell的上下文中执行脚本

我的理解是当我在BASH shell中执行脚本时,使用类似$ ./myscript.sh子shell的语法启动并且代码在该shell中运行,并且在我的shell上打印STDOUT和STDERR输出,STDIN取自我的shell.这就是脚本的交互方式.

文件" myscript " 的顶行是#!/bin/bash,这表示用于在脚本文件中执行语法的解释器.

如果我使用语法source myscript.sh,我的脚本中的代码被"拉"到我当前的环境并在那里执行,而不是在子shell中执行.我无法在我调用的脚本中运行以下代码$ ./myscript.sh并影响我当前的shell:

#!/bin/bash

PS1='`
  if [ $? -eq 0 ];
    then echo -n "\[\033[00;35m\]\u\[\033[01;32m\]@\[\033[00;35m\]\h\[\033[00;32m\](\[\033[01;35m\]\W\[\033[01;32m\])\[\033[00;32m\]\$";
    else echo -n "\[\033[00;35m\]\u\[\033[01;31m\]@\[\033[00;35m\]\h\[\033[01;31m\](\[\033[35m\]\W\[\033[31m\])\[\033[00;31m\]\$";
  fi`\[\033[0m\]'
Run Code Online (Sandbox Code Playgroud)

如果我删除#!/bin/bash并使用source此脚本更改我的命令提示符.它可以以一种我可以调用它的方式安排在一个脚本中$ ./myscript.sh,它会改变我当前的shell,而不是子shell吗?

bash shell subshell

0
推荐指数
1
解决办法
2495
查看次数