我有变量:
A="Some variable has value abc.123"
Run Code Online (Sandbox Code Playgroud)
我需要提取这个值,即abc.123.在bash中这可能吗?
使用典型的Apache访问日志,您可以运行:
tail -f access_log | grep "127.0.0.1"
Run Code Online (Sandbox Code Playgroud)
这只会显示指定IP地址的日志(因为它们已创建).
但是,为什么grep在第二次管道时会失败,以进一步限制结果?
例如,".css"的简单排除:
tail -f access_log | grep "127.0.0.1" | grep -v ".css"
Run Code Online (Sandbox Code Playgroud)
不会显示任何输出.
我在我的中央存储库上编写了预提交钩子.当我的客户端克隆存储库时,它永远不会传播挂钩.我想将钩子也复制到我的客户端存储库.我的客户是Windows用户,使用msysgit作为git客户端.
有什么办法可以将钩子复制到本地存储库吗?
How can I include a CC field in this function?
function mail_attachment($filename, $path, $mailto, $from_mail, $from_name, $replyto, $subject, $message) {
$file = $path.$filename;
$file_size = filesize($file);
$handle = fopen($file, "r");
$content = fread($handle, $file_size);
fclose($handle);
$content = chunk_split(base64_encode($content));
$uid = md5(uniqid(time()));
$name = basename($file);
$header = "From: ".$from_name." <".$from_mail.">\r\n";
$header .= "Reply-To: ".$replyto."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$header .= "This is a multi-part message in MIME format.\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\n"; …Run Code Online (Sandbox Code Playgroud) 我有一个清单:
d = [{'x':1, 'y':2}, {'x':3, 'y':4}, {'x':1, 'y':2}]
Run Code Online (Sandbox Code Playgroud)
{'x':1, 'y':2} 不止一次我想从列表中删除它.我的结果应该是:
d = [{'x':1, 'y':2}, {'x':3, 'y':4} ]
Run Code Online (Sandbox Code Playgroud)
注意:
list(set(d))这里没有工作抛出错误.
我有使用utf-8编码的文本文件,其中包含'ö','ü'等字符.我想解析这些文件的文本形式,但我无法让tokenizer正常工作.如果我使用标准的nltk标记器:
f = open('C:\Python26\text.txt', 'r') # text = 'müsli pöök rääk'
text = f.read()
f.close
items = text.decode('utf8')
a = nltk.word_tokenize(items)
Run Code Online (Sandbox Code Playgroud)
输出: [u'\ufeff', u'm', u'\xfc', u'sli', u'p', u'\xf6', u'\xf6', u'k', u'r', u'\xe4', u'\xe4', u'k']
Punkt tokenizer似乎做得更好:
f = open('C:\Python26\text.txt', 'r') # text = 'müsli pöök rääk'
text = f.read()
f.close
items = text.decode('utf8')
a = PunktWordTokenizer().tokenize(items)
Run Code Online (Sandbox Code Playgroud)
输出: [u'\ufeffm\xfcsli', u'p\xf6\xf6k', u'r\xe4\xe4k']
在我无法弄清楚的第一个令牌之前仍然有'\ ufeff'(不是我不能删除它).我究竟做错了什么?非常感谢.
一个明显的(天真的?)方法是:
std::set<int> s;
for (int i = 0; i < SIZE; ++i) {
s.insert(i);
}
Run Code Online (Sandbox Code Playgroud)
这是合理的可读性,但从我的理解,不是最优的,因为它涉及重复搜索插入位置并且没有利用输入序列已经排序的事实.
是否有更优雅/高效(或事实上)的方式来初始化std::set一系列数字?
或者,更一般地说,如何有效地将有序的条目列表插入到集合中?
浏览文档,我刚刚注意到接受迭代器的构造函数来指示插入的位置:
iterator insert ( iterator position, const value_type& x );
Run Code Online (Sandbox Code Playgroud)
这意味着这将更有效:
std::set<int> s;
std::set<int>::iterator it = s.begin();
for (int i = 0; i < SIZE; ++i) {
it = s.insert(it, i);
}
Run Code Online (Sandbox Code Playgroud)
这看起来合理,但我仍然愿意接受更多建议.
我想让我的iphone测试应用程序在iPhone中自动测试.以下是我想要的步骤:
现在,我遇到了第2步和第3步的问题,我无法自动完成(我可以通过"构建和调试"按钮从XCode执行此操作.但是,这需要手动点击).
我做了一些关于automator的研究,它没有回答我的问题.我正在考虑的另一个选择是为iphone模拟器编译应用程序并从那里运行它,但我不确定测试结果与真实设备的比较有多准确.
我是Mac/IPhone开发的新手,也许有人有更好的测试方法.欢迎任何反馈和意见.谢谢.
如何在模型的save()方法中处理可能的竞争条件?
例如,以下示例实现具有相关项的有序列表的模型.创建新项目时,当前列表大小用作其位置.
据我所知,如果同时创建多个项目,这可能会出错.
class OrderedList(models.Model):
# ....
@property
def item_count(self):
return self.item_set.count()
class Item(models.Model):
# ...
name = models.CharField(max_length=100)
parent = models.ForeignKey(OrderedList)
position = models.IntegerField()
class Meta:
unique_together = (('parent','position'), ('parent', 'name'))
def save(self, *args, **kwargs):
if not self.id:
# use item count as next position number
self.position = parent.item_count
super(Item, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
我遇到过@transactions.commit_on_success()但这似乎只适用于视图.即使它确实适用于模型方法,我仍然不知道如何正确处理失败的事务.
我当前正在处理它,但它感觉更像是一个黑客而不是一个解决方案
def save(self, *args, **kwargs):
while not self.id:
try:
self.position = self.parent.item_count
super(Item, self).save(*args, **kwargs)
except IntegrityError:
# chill out, then …Run Code Online (Sandbox Code Playgroud)