小编dot*_*hen的帖子

如何在Linux上通过FTP递归下载文件夹

我正在尝试使用命令行ftp client ftp文件夹,但到目前为止我只能使用'get'来获取单个文件.

linux ftp command-line

308
推荐指数
7
解决办法
46万
查看次数

用单个空格替换非ASCII字符

我需要用空格替换所有非ASCII(\ x00-\x7F)字符.我很惊讶这在Python中并不容易,除非我遗漏了一些东西.以下函数只删除所有非ASCII字符:

def remove_non_ascii_1(text):

    return ''.join(i for i in text if ord(i)<128)
Run Code Online (Sandbox Code Playgroud)

并且这个用字符代码点中的字节数替换非ASCII字符和空格量(即字符被3个空格替换):

def remove_non_ascii_2(text):

    return re.sub(r'[^\x00-\x7F]',' ', text)
Run Code Online (Sandbox Code Playgroud)

如何用单个空格替换所有非ASCII字符?

无数 类似 SO 问题, 地址 的字符 替换 反对 剥离,进一步解决所有非ASCII字符不是一个特定的字符.

python unicode encoding ascii

228
推荐指数
6
解决办法
18万
查看次数

无法使用Ctrl-C终止Python脚本

我正在使用以下脚本测试Python线程:

import threading

class FirstThread (threading.Thread):
    def run (self):
        while True:
            print 'first'

class SecondThread (threading.Thread):
    def run (self):
        while True:
            print 'second'

FirstThread().start()
SecondThread().start()
Run Code Online (Sandbox Code Playgroud)

这是在Kubuntu 11.10上的Python 2.7中运行的.Ctrl+ C不会杀了它.我也尝试为系统信号添加处理程序,但这没有帮助:

import signal 
import sys
def signal_handler(signal, frame):
    sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
Run Code Online (Sandbox Code Playgroud)

为了杀死进程,我在用Ctrl+ 发送程序到后台后通过PID将其杀死Z,这是不被忽略的.为什么Ctrl+ C如此坚持被忽视?我该如何解决这个问题?

python linux

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

'content'和'text'之间有什么区别

我正在使用极好的Python Requests库.我注意到,精美的文档中有许多如何在不解释原因的情况下做某事的例子.举例来说,无论是r.textr.content显示为实例如何获取服务器响应.但它在哪里解释了这些属性的作用?例如,我何时会选择一个而不是另一个?我看到thar 有时会r.text返回一个unicode对象,我认为非文本响应会有所不同.但所有这些记录在哪里?请注意,链接的文档确实说明:

对于非文本请求,您还可以以字节为单位访问响应正文:

但接下来它将展示文本响应的示例!我只能假设上面的引用意味着non-text responses代替non-text requests,因为非文本请求在HTTP中没有意义.

简而言之,与Python请求站点上的(优秀)教程相比,库的正确文档在哪里?

python python-requests

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

Grep不是正则表达式

我需要搜索PHP变量$someVar.但是,Grep认为我正在尝试运行正则表达式并抱怨:

$ grep -ir "Something Here" * | grep $someVar
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
$ grep -ir "Something Here" * | grep "$someVar"
<<Here it returns all rows with "someVar", not only those with "$someVar">>
Run Code Online (Sandbox Code Playgroud)

我没有看到一个选项,告诉grep 不要将字符串解释为正则表达式,而是将其包含$为另一个字符串字符.

linux grep

78
推荐指数
5
解决办法
4万
查看次数

Git:如何在提交之间来回移动

我有一个关于Git的新手问题:

我需要在分支的历史中来回移动.这意味着,我需要将所有文件放到一些旧版本中的状态,然后我需要回到存储库中的最新状态.我不需要提交.

使用SVN,它会

svn up -r800
Run Code Online (Sandbox Code Playgroud)

得到修订版800,和

svn up
Run Code Online (Sandbox Code Playgroud)

与存储库保持同步.

我知道我想要回复的提交的哈希,所以我试过了

git reset <hash>
Run Code Online (Sandbox Code Playgroud)

这似乎让我在那里.但后来我试过了

git pull
Run Code Online (Sandbox Code Playgroud)

但是抱怨冲突.

那么,通过分支历史的正确方法是什么?

我正在考虑SVN,所以不要指向我一些很好的教程.请注意,我已经检查了http://git.or.cz/course/svn.htmlhttp://www.youtube.com/watch?v=8dhZ9BXQgc4.

谢谢,Ondra.

git pull reset git-pull

70
推荐指数
5
解决办法
6万
查看次数

不要将当前的bash会话保存到历史记录中

我注意到,当打开.bash_history它只包含我上一个会话中的条目时,似乎当前会话仅在退出时附加.有没有办法阻止当前会话保存?bash如果知道如何做到这一点,即使崩溃也是一种选择.我发现我可以完成kill -9这个过程,但是如果有更好的方法我会很高兴知道.

bash

60
推荐指数
7
解决办法
4万
查看次数

为什么cURL返回"额外的东西不好"?

我正在编写一个Python应用程序,通过cURL查询社交媒体API.我查询的大多数不同服务器(Google +,Reddit,Twitter,Facebook等)都有cURL抱怨:

额外的东西不精细transfer.c:1037:0 0

不寻常的是,当应用程序首次启动时,每个服务的响应将抛出此行一次或两次.几分钟后,该线将出现几次.显然,cURL正在识别它不喜欢的东西.大约半小时后,服务器开始超时,这条线重复了几十次,所以它显示出一个真正的问题.

我怎么诊断这个?我尝试使用Wireshark来捕获请求和响应头,以寻找可能导致卷曲抱怨异常,但对于所有的Wireshark的复杂性似乎没有被隔离,只显示标题的方式.

以下是代码的相关部分:

output = cStringIO.StringIO()
c = pycurl.Curl()
c.setopt(c.URL, url)
c.setopt(c.USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0')
c.setopt(c.WRITEFUNCTION, output.write)
c.setopt(c.CONNECTTIMEOUT, 10) 
c.setopt(c.TIMEOUT, 15) 
c.setopt(c.FAILONERROR, True)
c.setopt(c.NOSIGNAL, 1)

try:
    c.perform()
    toReturn = output.getvalue()
    output.close()
    return toReturn

except pycurl.error, error:
    errno, errstr = error
    print 'The following cURL error occurred: ', errstr
Run Code Online (Sandbox Code Playgroud)

python curl

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

MySQL中的多列主键5

我正在尝试学习如何使用密钥并打破必须SERIAL为所有表中的所有行设置类型ID 的习惯.与此同时,我也在做多对多的关系,因此要求协调关系的表中任一列的唯一值会妨碍这一点.

如何在表上定义主键,以便任何给定值都可以在任何列中重复,只要所有列的值组合永远不会重复?

mysql key primary-key

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

Postfix无法找到/ etc/postfix /虚拟文件

在Ubuntu Server 12.04计算机上,我为特定地址设置了一个电子邮件转发器/etc/postfix/virtual:example@mydomain.com postfix-test@dotancohen.com

地址postfix-test@dotancohen.com工作和接收邮件.当我发送邮件给example@mydomain.com我时,在日志中得到这个:

warning: hash:/etc/postfix/virtual is unavailable. open database /etc/postfix/virtual.db: No such file or directory
warning: hash:/etc/postfix/virtual lookup error for "example@mydomain.com"
warning: 705B58190E: virtual_alias_maps map lookup problem for example@mydomain.com  -- deferring delivery
Run Code Online (Sandbox Code Playgroud)

为什么postfix无法找到/etc/postfix/virtual file

$ ls -la
total 96
drwxr-xr-x   3 root root  4096 Jul  4 08:46 .
drwxr-xr-x 102 root root  4096 Jun 24 06:23 ..
-rw-r--r--   1 root root   274 Jun 24 06:23 dynamicmaps.cf
-rw-r--r--   1 root root …
Run Code Online (Sandbox Code Playgroud)

postfix-mta

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