小编msw*_*msw的帖子

旧的rsync和文件名中的空格

源目录的确定如下:

SHOW=${PWD##*/}
SRC=wells@server.com:"/mnt/bigfish/video/TV/${SHOW}/"
Run Code Online (Sandbox Code Playgroud)

所以它出现了类似于:

wells@server.com:/mnt/bigfish/video/TV/The Name Of the Show With Spaces/
Run Code Online (Sandbox Code Playgroud)

然后尝试像这样运行rsync:

rsync -avz -e ssh "${SRC}" .
Run Code Online (Sandbox Code Playgroud)

但它告诉我""/ mnt/bigfish/video/TV /"不是目录","/ mnt/bigfish/video/TV/Name"不是目录等,但是有很多以空格分隔的单词在源目录的名称中.

我怎样才能纠正这个令人讨厌的恼人问题?

更新我在OS 10.6上运行它,我最终用转义空格替换空格,如下所示:

SRC=wells@kittenfactory.com:"/mnt/bigfish/video/TV/${SHOW// /\ }/"
Run Code Online (Sandbox Code Playgroud)

linux macos bash rsync

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

Mercurial:从远程仓库获取最新的分支机构修订版

我正在为我的部署bash脚本寻找简单的解决方案.

此脚本的每次运行都应该将标记添加到production分支上的最新修订,但是远程仓库的标记.

运行脚本的人可能拥有自己的production更改集,而不是推送到远程仓库,我的服务器直接从具有只读访问权限的远程仓库获取代码.这就是为什么我需要从远程仓库获取最新的变更集,但在本地提交标记.

我试过像:

hg identify -i $(hg paths default)

  • 它很棒,但只给出了提示转速,无法定义分支

hg heads production

  • 它再次很棒,返回最新的分支头,但只能从本地回购..

希望有一些我缺少的东西,有一种方法可以获得远程分支头修订ID.

mercurial

5
推荐指数
2
解决办法
4329
查看次数

是否可以将成员初始化推迟到构造函数体?

我有一个类,对象作为成员,没有默认的构造函数.我想在构造函数中初始化这个成员,但似乎在C++中我不能这样做.这是班级:

#include <boost/asio.hpp>
#include <boost/array.hpp>

using boost::asio::ip::udp;

template<class T>
class udp_sock
{
    public:
        udp_sock(std::string host, unsigned short port);
    private:
        boost::asio::io_service _io_service;
        udp::socket _sock;
        boost::array<T,256> _buf;
};

template<class T>
udp_sock<T>::udp_sock(std::string host = "localhost",
  unsigned short port = 50000)
{
    udp::resolver res(_io_service);
    udp::resolver::query query(udp::v4(), host, "spec");
    udp::endpoint ep = *res.resolve(query);
    ep.port(port);
    _sock(_io_service, ep);
}
Run Code Online (Sandbox Code Playgroud)

编译器基本上告诉我它找不到udp :: socket的默认构造函数,根据我的研究,我理解C++在调用构造函数之前隐式初始化每个成员.有没有办法以我想要的方式去做,或者它是否"面向Java"并且在C++中不可行?

我通过像这样定义我的构造函数解决了这个问题:

template<class T>
udp_sock<T>::udp_sock(std::string host = "localhost",
  unsigned short port = 50000) : _sock(_io_service)
{
    udp::resolver res(_io_service);
    udp::resolver::query query(udp::v4(), host, "spec");
    udp::endpoint ep = *res.resolve(query); …
Run Code Online (Sandbox Code Playgroud)

c++ oop constructor boost initialization

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

如何使列表在Python中使用时自动实例化,就像在Perl中一样?

在Perl中,我可以这样做:

push(@{$h->[x]}, y);
Run Code Online (Sandbox Code Playgroud)

我可以根据上面的Perl示例简化以下python代码吗?

if x not in h:
  h[x] = []
h[x].append(y)
Run Code Online (Sandbox Code Playgroud)

我想简化这个,因为它在我的代码中有很多地方,(我不能用[]初始化所有可能的x).我不想让它成为一个函数,因为没有'inline'关键字.

有任何想法吗?

python perl

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

按字段值从Google App Engine数据存储区中选择数据

我只是盯着GAE.就像许多我习惯于标准SQL一样.

通常,当您要选择具有特定字段值的数据时,请使用:

SELECT <columns> FROM <table> WHERE <column> = <wanted value>
Run Code Online (Sandbox Code Playgroud)

是否在GAE中执行此操作是正确的方法

<Model Class>.all().filter('<column> =', <wanted value>)
Run Code Online (Sandbox Code Playgroud)

还是有更有效的方法?

编辑:另外我应该注意在这个特殊情况下我只想要返回一个结果.那么是否有另一个命令,以便在找到结果时不继续关注?

python google-app-engine

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

如何获得常量大小的python列表的随机切片.(最小代码)

嗨我有一个列表说100项,现在我想要一个说6项应该随机选择.任何方式都可以用非常简单的简洁陈述来做到这一点???

这就是我提出的(但它将按顺序获取)

 mylist #100 items
 N=100
 L=6
 start=random.randint(0,N-L);
 mylist[start:start+L]
Run Code Online (Sandbox Code Playgroud)

python

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

没有参数的类方法会产生TypeError

这段代码:

class testclass:
    def __init__(self,x,y):
        self.x = x
        self.y = y
        self.test()

    def test():
        print('test')

if __name__ == '__main__':
    x = testclass(2,3)
Run Code Online (Sandbox Code Playgroud)

收益率:

Error:
TypeError:test() takes no argument(1 given)
Run Code Online (Sandbox Code Playgroud)

我正在调用没有任何参数的测试函数,为什么错误说我给了一个?

python

4
推荐指数
2
解决办法
7459
查看次数

多字段和数字排序

文件列表:

sysbench-size-256M-mode-rndrd-threads-1
sysbench-size-256M-mode-rndrd-threads-16
sysbench-size-256M-mode-rndrd-threads-4
sysbench-size-256M-mode-rndrd-threads-8
sysbench-size-256M-mode-rndrw-threads-1
sysbench-size-256M-mode-rndrw-threads-16
sysbench-size-256M-mode-rndrw-threads-4
sysbench-size-256M-mode-rndrw-threads-8
sysbench-size-256M-mode-rndwr-threads-1
sysbench-size-256M-mode-rndwr-threads-16
sysbench-size-256M-mode-rndwr-threads-4
sysbench-size-256M-mode-rndwr-threads-8
sysbench-size-256M-mode-seqrd-threads-1
sysbench-size-256M-mode-seqrd-threads-16
sysbench-size-256M-mode-seqrd-threads-4
sysbench-size-256M-mode-seqrd-threads-8
sysbench-size-256M-mode-seqwr-threads-1
sysbench-size-256M-mode-seqwr-threads-16
sysbench-size-256M-mode-seqwr-threads-4
sysbench-size-256M-mode-seqwr-threads-8
Run Code Online (Sandbox Code Playgroud)

我想按模式(rndrd,rndwr等)对它们进行排序,然后编号:

sysbench-size-256M-mode-rndrd-threads-1
sysbench-size-256M-mode-rndrd-threads-4
sysbench-size-256M-mode-rndrd-threads-8
sysbench-size-256M-mode-rndrd-threads-16
sysbench-size-256M-mode-rndrw-threads-1
sysbench-size-256M-mode-rndrw-threads-4
sysbench-size-256M-mode-rndrw-threads-8
sysbench-size-256M-mode-rndrw-threads-16
....
Run Code Online (Sandbox Code Playgroud)

我尝试了以下循环,但它按数字排序,但我需要像1,4,8,16这样的序列:

$ for f in $(ls -1A); do echo $f; done | sort -t '-' -k 7n
Run Code Online (Sandbox Code Playgroud)

编辑:

请注意数字排序(-n)按数字(1,1,1,1,4,4,4,4 ...)排序,但我需要像1,4,8,16,1,4这样的序列, 8,16 ...

sorting bash

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

使用"variable = value"(Windows INI)格式读取文件?

我正在学习Python,作为初学者,我几乎没有问题.

我需要读取具有以下格式的文件:

# This is the text file
[label1]
method=auto

[label2]
variable1=value1
variable2=ae56d491-3847-4185-97a0-36063d53ff2c
variable3=value3
Run Code Online (Sandbox Code Playgroud)

现在我有以下代码:

# This is the Python file
arq = open('desiredFile').read()
index = arq.rfind('variable1=')
(??)
Run Code Online (Sandbox Code Playgroud)

但我真的不知道如何继续下去.我的目标是读取值,直到换行.我想在计算"id ="和新行之间的索引时,所以在这个索引中获取文本,但我不知道如何在Python中执行此操作.总结我想在Python变量中存储[label2]的值:

pythonVariable1 = <value of variable1 in [label2]>
pythonVariable2 = <value of variable2 in [label2]>
pythobVariable3 = <value of variable3 in [label2]>
Run Code Online (Sandbox Code Playgroud)

请注意,pythonVariable2等于"ae56d491-3847-4185-97a0-36063d53ff2c",文本文件中的变量具有唯一的名称.那么,我如何在Python变量中存储这些变量的值?

python file

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

显示文本文件并在文件内容更改时更新

我想打开一个窗口,它只是文件的内容file.txt.我不关心我用它打开它的命令,nano, cat, vi或者其他什么.我希望它每次更改时都会更新,所以如果我在另一个窗口打开它,编辑并保存它,原始窗口中的文件会更新,有点像screen.有什么建议?

我已经尝试过cat file.txt每隔几秒就打开一个新命令,但这是非常不可靠的.

bash

4
推荐指数
2
解决办法
1396
查看次数