是否有更优雅的方式来编写以下Python?
[foo() for i in range(10)]
Run Code Online (Sandbox Code Playgroud)
我想在列表中累积foo()的结果,但我不需要迭代器i.
以下python脚本允许我使用正则表达式从给定文件中删除电子邮件地址.
我怎么能添加这个以便我也可以获得电话号码?比如说,如果它是7位数或10位数(带区号),还算括号括号?
我目前的脚本可以在下面找到:
# filename variables
filename = 'file.txt'
newfilename = 'result.txt'
# read the file
if os.path.exists(filename):
data = open(filename,'r')
bulkemails = data.read()
else:
print "File not found."
raise SystemExit
# regex = something@whatever.xxx
r = re.compile(r'(\b[\w.]+@+[\w.]+.+[\w.]\b)')
results = r.findall(bulkemails)
emails = ""
for x in results:
emails += str(x)+"\n"
# function to write file
def writefile():
f = open(newfilename, 'w')
f.write(emails)
f.close()
print "File written."
Run Code Online (Sandbox Code Playgroud)
正则表达式的电话号码:
(\d{3}[-\.\s]\d{3}[-\.\s]\d{4}|\(\d{3}\)\s*\d{3}[-\.\s]\d{4}|\d{3}[-\.\s]\d{4})
Run Code Online (Sandbox Code Playgroud)
电话号码的另一个正则表达式:
(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?
Run Code Online (Sandbox Code Playgroud) 我正在尝试对现有的Android应用程序进行逆向工程,并了解如何构建特定的UI.我发现我可以将apk重命名为zip并查看一些已编译的源代码.res/layout目录中填充了定义UI的所有xml文件,但是虽然它们具有xml扩展名,但它们不是XML格式.有没有将这些文件转换回基于文本的标记?
我需要创建一个按钮(因此它与图像的按钮)在gwt
用UiBinder
,但我不知道如何进行.这是我的ui.xml
代码:
<g:PushButton ui:field="myPushButton"/>
在*.java文件中我定义了:
PushButton myPushButton;
如何将图像添加到按钮?我尝试了以下但不起作用:
<g:PushButton ui:field="myPushButton" image="myImage.gif" />
谢谢
正如你们中的一些人所发现的那样,一个新特性(?)出现在WPF 4中,其中数据绑定引擎可以将名为" {DisconnectedItem} " 的类MS.Internal.NamedObject的自定义控件实例传递到DataContext中 - 而不是您的代码所期望的数据项(当模板控件被其ItemsControl断开时会发生这种情况).这些被称为哨兵对象.
在现有代码中,这可能导致虚假异常,其中代码没有准备好.这些可以被数据绑定子系统吞噬,或者它们可能造成严重破坏.密切关注您的调试控制台.
无论如何,我在这个MSDN论坛上了解到了这一点.Sam Bent的帖子解释了这一切.现在去读它,你会想知道这个.实质是这些事件永远不会被解雇(这就是错误),所以:
如果DataContext是sentinel对象,则忽略DataContextChanged事件.
所以,我想检查一下我的DataContext.但是怎么样?考虑:
public bool IsSentinelObject(object dataContext)
{
return (dataContext is MS.Internal.NamedObject);
}
Run Code Online (Sandbox Code Playgroud)
猜猜会发生什么?它没有编译,因为MS.Internal.NamedObject是内部的,我无法访问.当然,我可以像这样破解它:
public bool IsSentinelObject(object dataContext)
{
return dataContext.GetType().FullName == "MS.Internal.NamedObject"
|| dataContext.ToString() == "{DisconnectedObject}";
}
Run Code Online (Sandbox Code Playgroud)
(或其他东西,有效).我也遵循Sam的建议缓存对象以供以后引用相等性检查(它是一个单例).
当然,这意味着我没有问题,不是真的.但我很好奇,这篇文章肯定会让一些用户受益,所以无论如何都值得问:
有没有办法可以根据内部NamedObject类型精确检查类型,而无需求助于字符串比较?
Scott Guthrie刚刚发表了关于他的团队一直在研究的新jQuery模板的博客,我必须说......这看起来真的很甜蜜.然而,我有一个多部分的问题,答案会影响我使用它们的决定.
我目前正在开展一个项目,主页上显示您所在地区即将举办的活动列表.事件列表与http://nerddinner.com中的事件列表大致相同(但我没有使用任何代码).
我正在考虑使用新的jQuery模板格式化从我的Controller(MVC)发送的信息.我这样做的当前方式是将ViewModel对象发送到视图(包含所有需要的内容),但是也要将相同的ViewModel对象序列化为ViewData
Bing地图使用的JSON(传递使用).现在我假设在两次发送相同内容时性能受到影响,因此我认为仅发送JSON并将其用于Bing Maps和内容(使用jQuery模板)是一个好主意.
在走我的问题.搜索引擎可以在页面中读取JSON(如果是这样,他们会用它来编制索引),还是我的页面对搜索引擎来说是"空白",因为我在页面渲染后显示内容?这个问题的第二部分是,如果搜索引擎优化会受到影响,是否有更好的方法来完成我需要的东西,或者我是不是两次发送内容?(请记住,地图信息和内容信息将完全相同).
如何比较两个.jar文件?它们都有编译的.class文件.
我希望在方法变化等方面有所不同.
我正在调试一个应用程序(C++),我在代码中找到了一个我要更改值的点(通过调试器).所以现在,我有一个断点设置,我做了:
它正在打破这个断点,所以我想自动化这个.我想设置断点来运行宏,并继续执行.
但是,我没有编写VisualStudio宏的经验,所以我不知道修改执行程序变量的命令.我环顾四周,但到目前为止还没有在网上找到任何帮助.
我确定这是一个愚蠢的问题,但我无法在任何地方找到链接,他们的维基只是说"将AdMob Jar文件复制到该libs目录中".但不是在哪里得到它.
拿这段代码:
int a;
int *pointer = &a;
int **b = &(&(*pointer));
Run Code Online (Sandbox Code Playgroud)
以上是否设置b
为地址pointer
?
我问的原因是因为*pointer
给出了它的值a
,并且它的引用是地址a
.这被视为仅仅是地址a
,还是被视为pointer
.
这有意义吗?我可以这样做:
&(*pointer) = a;
Run Code Online (Sandbox Code Playgroud)