我正在编写一个程序(对于Mac OS X,使用Objective-C),我需要以编程方式创建一堆.webloc文件.
.webloc文件只是将URL从Safari的位置栏拖放到某个文件夹后创建的文件.
一般来说,我需要一种方法来在文件系统中创建指向Web中某个位置的项目.据我所知,在Mac OS X上应该使用.webloc文件.
那么,是否有可能制作一个.webloc文件,其中包含有效的URL和一些标题?
有没有办法在rst有自动标题编号?这就是:
#. Some Section
===============
...
#. Some Subsection
------------------
...
#. Another Subsection
---------------------
...
#. Another Section
==================
...
Run Code Online (Sandbox Code Playgroud)
将呈现为:
...
...
...
...
我有一个包含300多个正则表达式的python控制台应用程序.每个版本都修复了正则表达式集.当用户运行应用程序时,整个正则表达式集将应用于从一次(非常短的工作)到数千次(长时间工作)的任何地方.
我想通过预先编译正则表达式,将编译的正则表达式pickle到文件,然后在运行应用程序时加载该文件来加快较短的作业.
python re模块是高效的,正则表达式编译开销对于长作业来说是完全可以接受的.然而,对于短期工作,它占整个运行时间的很大一部分.一些用户希望运行许多小作业以适应他们现有的工作流程.编译正则表达式大约需要80毫秒.除正则表达式编译外,短作业可能需要20ms-100ms.因此,对于短期工作,开销可以是100%或更多.这是在Windows和Linux下的Python27.
必须使用DOTALL标志应用正则表达式,因此需要在使用前进行编译.在这种情况下,大型编译缓存显然无济于事.正如一些人已经指出的那样,序列化编译的正则表达式的默认方法实际上并没有做太多.
re和sre模块将模式编译成一个小的自定义语言,具有自己的操作码和一些辅助数据结构(例如,用于表达式中使用的字符集).re.py中的pickle函数可以轻松实现.它是:
def _pickle(p):
return _compile, (p.pattern, p.flags)
copy_reg.pickle(_pattern_type, _pickle, _compile)
Run Code Online (Sandbox Code Playgroud)
我认为这个问题的一个很好的解决方案是更新re.py中_pickle的定义,它实际上是对已编译的模式对象进行了腌制.不幸的是,这超出了我的python技能.不过,我打赌,这里有人知道该怎么做.
我意识到我不是第一个提出这个问题的人 - 但也许你可以成为第一个对它做出准确而有用的回应的人!
非常感谢您的建议.
我一直在尝试为每个键创建一个包含字符串的字典,并为每个值创建一个lambda函数.我不知道我哪里出错了但是我怀疑它是我首先尝试将lambda存储在字典中,还是我的lambda使用快捷操作符.
码:
dict = {
'Applied_poison_rating_bonus':
(lambda target, magnitude: target.equipmentPoisonRatingBonus += magnitude)
}
Run Code Online (Sandbox Code Playgroud)
提出的错误是SyntaxError: invalid syntax指向我的错误+=.lambda中不允许使用快捷操作符,或者我是否比我想象的更偏离轨道?
为了理智,我省略了数百个非常相似的对(它不仅仅是一个小字典.)
编辑:
看来我的问题是试图在lambda表达式中分配任何东西.但是,我要解决的问题是如何才能获得一个方法,只知道该字典的关键字能够改变我(破碎)代码中定义的字段?
某种方式调用eval()有帮助吗?
EDIT_FINAL:
functools.partial()方法被推荐到问题的这个扩展部分,我相信在研究它之后,我会发现它足以解决我的问题.
我有一个带链接链接的HTML文档,例如:
<html>
<body>
<ul>
<li><a href="http://someurl.com/etc/etc">teste1</a></li>
<li><a href="http://someurl.com/etc/etc">teste2</a></li>
<li><a href="http://someurl.com/etc/etc">teste3</a></li>
<ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我希望使用Ruby on Rails,使用nokogiri或其他方法来获得这样的最终文档:
<html>
<body>
<ul>
<li><a href="http://myproxy.com/?url=http://someurl.com/etc/etc">teste1</a></li>
<li><a href="http://myproxy.com/?url=http://someurl.com/etc/etc">teste2</a></li>
<li><a href="http://myproxy.com/?url=http://someurl.com/etc/etc">teste3</a></li>
<ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳策略是什么?
在python我正在创建一个文件:
f = open("test.py", "a")
Run Code Online (Sandbox Code Playgroud)
文件在哪里创建?如何在特定路径上创建文件?
f = open("C:\Test.py", "a")
Run Code Online (Sandbox Code Playgroud)
返回错误.
我有一个HTML 5应用程序,可以在包括iPad在内的移动设备上运行.我想创建一个指向非HTML文件的链接,并打开正确的应用程序来处理该文件.这些文件是.acsm文件,将在Bluefire中打开.
如果我将链接创建为简单<a href="url">标记,则可以正常工作.
如果我使用Javascript来设置window.location,它不起作用.iPad弹出警报,提示"下载失败:无法下载此文件".
我已经尝试过其他文件类型,并没有找到任何结论.简单链接和Javascript技术之间有什么区别?我可以使Javascript代码与链接做同样的事情吗?
如果特定的Javascript细节很重要,我用jQuery这样做:
$('.native-launch').live('click', function (evobj) {
var there = $(evobj.target).attr('href');
window.location.href = there;
return false;
});
Run Code Online (Sandbox Code Playgroud)
HTML看起来像:
<span class="catalog-list-button native-launch" href="url">Read in another app</span>
Run Code Online (Sandbox Code Playgroud)
(请注意,这是一个带有href的span,如果有帮助,我可以更改HTML.)
我正在向我正在处理的Cocoa应用添加重复事件.我每天都在重复,因为我可以用数学方法定义这些(3600*24*7 = 1周).我使用以下代码来修改日期:
[NSDate dateWithTimeIntervalSinceNow:(3600*24*7*(weeks))]
Run Code Online (Sandbox Code Playgroud)
我知道自事件重复以来已过去了多少个月,但我无法弄清楚如何制作代表未来1个月/ 3个月/ 6个月/ 9个月的NSDate对象.理想情况下,我希望用户说从10月14日开始每月重复一次,它将重复每个月的第14天.
我正在试验iPhone SDK并做一些TDD ala Dr. Nic的rbiPhoneTest项目.我想知道有多少(如果有的话)成功使用这个或任何其他测试框架的iPhone/Cocoa?更重要的是,我想知道如何最好地断言专有的二进制请求/响应协议.想法是通过网络发送二进制请求并接收二进制响应.使用byte和'ing和oring创建请求和响应.我正在使用黄金副本模式来测试我的请求.这是我到目前为止所拥有的.不要笑,因为我是btoh Objective C和Ruby的新手:
require File.dirname(__FILE__) + '/test_helper'
require 'fileutils'
require 'io'
require "MyModel.bundle"
OSX::ns_import :MyModel
module MyTestExtensions
def is_absolute_path(path)
return /^\/.*/.match(path)
end
def parent_directory(file)
dir = file
if(! is_absolute_path(dir))
dir = File.expand_path(dir)
end
dir = File.dirname(dir)
assert is_absolute_path(dir), "Expecting an absolute path with #{dir}"
return dir
end
def assert_NSData_contains_bytes_from_file(file, data)
assert_not_nil data, "Data should not be nil."
assert data.bytes, "data should have bytes"
data.length.times { |i|
expected = file.getc
assert_not_nil expected, "Expected only #{i} bytes. Actual …Run Code Online (Sandbox Code Playgroud)