小编Bri*_*ell的帖子

OptionParser - 支持命令行末尾的任何选项

我正在编写一个小程序,它应该在远程服务器上执行一个命令(让我们说一个合理的愚蠢的包装器ssh [hostname] [command]).

我想这样执行它:

./floep [command] 

但是,我需要不时传递某些命令行:

./floep -v [command]

所以我决定使用optparse.OptionParser.问题是,我有时命令也有参数,如果我这样做,它可以正常工作:

./floep -v "uname -a"

但我也希望它在我使用时起作用:

./floep -v uname -a

我的想法是,只要我遇到第一个非选项参数,之后的所有内容都应该成为我命令的一部分.

然而,这给了我:

Usage: floep [options]

floep: error: no such option: -a

OptionParser是否支持此语法?如果是这样:怎么样?如果不是:解决这个问题的最佳方法是什么?

python optparse

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

Bash, run script on every .jpg file in a directory with subdirectories

I have some working code, it's very simple - it copies every*.jpg file, renames it into*1.jpg, no worries.

for i in *.jpg; do cp $i ${i%%.jpg}1.jpg;  done
Run Code Online (Sandbox Code Playgroud)

how can I run this, so that it works on every file in a directory, every file in the subdirectories of that directory

example directory structure:

    test/test1/test2/somefile.jpg
    test/anotherfile.jpg
    test/test1/file.jpg
etc
Run Code Online (Sandbox Code Playgroud)

unix bash

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

Python"循环"

给定多个(x,y)有序对,我想比较它们之间的距离.所以假装我有一个有序对的列表:

pairs = [a,b,c,d,e,f]
Run Code Online (Sandbox Code Playgroud)

我有一个函数,它需要两个有序对,并找到它们之间的距离:

def distance(a,b):
    from math import sqrt as sqrt
    from math import pow as pow
    d1 = pow((a[0] - b[0]),2)
    d2 = pow((a[1] - b[1]),2)
    distance = sqrt(d1 + d2)
    return distance
Run Code Online (Sandbox Code Playgroud)

如何使用此函数将每个有序对与每个其他有序对进行比较,最终找到它们之间距离最大的两个有序对?

Psuedopsuedocode:

     distance(a,b)
     distance(a,c)
     ...
     distance(e,f)
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

python iteration round-robin

4
推荐指数
3
解决办法
3402
查看次数

.NET:为什么在Encoding.GetEncodings()中不是base 64?

我有一个函数,可以使用指定的编码将字节数组解码为字符串.

例:

Function Decode(ByVal bytes() As Byte, ByVal codePage As String) As String
    Dim enc As Text.Encoding = Text.Encoding.GetEncoding(codePage)
    Return enc.GetString(bytes)
End Function
Run Code Online (Sandbox Code Playgroud)

如果我想在其中包含base64,我必须做这样的事情:

Function Decode(ByVal bytes() As Byte, ByVal codePage As String) As String
    If String.Compare(codePage, "base64", True) = 0 Then
        Return Convert.ToBase64String(bytes)
    Else
        Dim enc As Text.Encoding = Text.Encoding.GetEncoding(codePage)
        Return enc.GetString(bytes)
    End If
End Function
Run Code Online (Sandbox Code Playgroud)

为什么base64在.NET中处理特殊?

.net base64 encoding character-encoding

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

如何使用Javascript获取元素的名称?

我试图在Javascript中获取元素的名称.如果元素是<div />,则"div"返回.如果它<img src="" />然后"img"将被返回.我正在使用jquery来选择一堆元素,然后在所有元素上调用自定义函数.在这个函数中,我想知道我正在处理什么.我该怎么做呢?

看似简单的事情.我想我以前做过但我找不到它.无论我怎么说,Google的结果都会让我"按名称获取元素".

javascript dom

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

使用C/C++有效地反序列化由浮点数,标记和空行组成的字符串

我有大字符串,类似于以下...

some_text_token

24.325973 -20.638823  

-1.964366 0.753947  
-1.290811 -3.547422  
0.813014 -3.547227  

0.472015 3.723311  
-0.719116 3.676793  

other_text_token  

24.325973 20.638823  

-1.964366 0.753947  
-1.290811 -3.547422  
-1.996611 -2.877422  
0.813014 -3.547227  

1.632365 2.083673  
0.472015 3.723311  
-0.719116 3.676793  

...

...我正在尝试有效地,并且在交错的序列中,它们出现在字符串中,抓住......

  1. 文本标记
  2. 浮动值
  3. 空白行

......但我遇到了麻烦.

我已经尝试过strtod并成功地从字符串中抓取了浮点数,但我似乎无法使用strtod获取循环来向我报告交错的文本标记和空行.我不是100%自信strtod是"正确的轨道"给出交错的令牌和空白行,我也感兴趣.

字符串中存在标记和空行以给浮点数提供上下文,因此我的程序知道每个标记之后要使用的浮点值是什么,但是strtod看起来更加适应,可以理解,只是报告它遇到的浮点数一个字符串,不考虑空白行或令牌等愚蠢的东西.

我知道这在概念上并不是很难,但是对C/C++来说相对较新我在判断我应该关注哪些语言特性以最大限度地利用C/C++能够对这个问题产生的效率时遇到困难.

有什么指针吗?我非常感兴趣为什么各种方法的功能或多或少都有效.谢谢!!!

c c++ string floating-point parsing

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

如何将double*转换为double?

有关此类型转换问题的任何想法?

这就是我想要做的.这不是实际的代码:

LinkedList* angles;
double dblangle; 
dblangle = (some function for angle calculation returning double value);
(double*)LinkedListCurrent(angles) = &double; 
Run Code Online (Sandbox Code Playgroud)

我希望你明白这个主意.最后一行导致了问题.最初角度是void*类型所以我必须先将其转换为double*.

c++

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

sqlite db文件在任何平台下都可用吗?

例如,我可以生成SQLite db文件并将其作为项目中的资源.项目首次启动时,将数据库复制到独立存储中,而不必担心手机中的此db文件可能不可用.此外,我可以将这个空的db文件复制到另一个平台,如android或iPhone,并在平台的SQLite api中操作此db.

sqlite windows-phone-7

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

这是有效的C++吗?

struct SomeStruct
{
  int a; 
  int b;
};

SomeStruct someFn( int init )
{
  SomeStruct ret = { init, init };
  //...
  return ret;
}

void someFn2( SomeStruct* pStruct )
{
  // ..
}

int main( )
{
  someFn2( &someFn(32) );
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ compiler-construction standards

2
推荐指数
3
解决办法
305
查看次数

使用C在linux上录制命令行输入和输出

基本上我想做一个几乎像键盘记录器的程序.问题是我作为网络管理员有时候我不记得在某些情况下我对机器做了什么,或者同时我为linux制作了howto和教程.我想记录我做了什么.所以基本上这个程序的想法是:你输入程序的名称,(我现在称之为鼠标)

$ rat
Welcome everything from now on will be recorded
recording $ ls
file1 file2 file3
recording $ quit
Bye bye
Run Code Online (Sandbox Code Playgroud)

你所做的一切都将转到xml文件.像这样的东西

<?xml version='1.0' encoding='UTF-8' ?>
<rat>
 <command>
   <input>ls</input>
   <output>file1 file2 file3</output>
   <err><err>
 </command>
</rat>
Run Code Online (Sandbox Code Playgroud)

我正在fp_in = popen( input, "w"); 和一些测试system,但首先与popen我不能更改目录和"系统我不能正确管理输入和输出.

我还在检查是否有什么东西我可以像插件一样猛击但没有找到任何信息.

在某些方面如果感觉像我应该创建另一个shell(这超出了我目前的能力)或fork bash sh.但它应该是那么复杂的权利.我很乐意建议从哪里开始.我和C生锈了,所以我又读了很多基本的东西.

使用xml文件,后来我正在考虑制作一个程序来存储这些数据和/或编辑这些数据,这样我就可以创建tutials和howto.

我可以想到很多方法可以将它扩展到使用printscreen,这样所有存储的图像都会转到一个文件,你可以上传到服务器(目前我很乐意存储数据).它可能是一个有用的工具.

PS.我知道这也可以用于邪恶的事情.

c unix shell process

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