你能用Python创建Mac OS X服务吗?怎么样 ?
我想要做的是知道将我的Python-fu挂钩到Mac OS X提供的服务系统.任何人都知道怎么做?如果是,任何工作代码片段?仅适用于文本还是仅适用于给定的mimetype - 定义的对象?

具体来说,我有两个字符串列表,我想将它们组合成一个字符串,其中每一行是列表中的下两个字符串,用空格分隔:
a = ['foo1', 'foo2', 'foo3']
b = ['bar1', 'bar2', 'bar3']
Run Code Online (Sandbox Code Playgroud)
我想要一个函数combine_to_lines(),它将返回:
"""foo1 bar1
foo2 bar2
foo3 bar3"""
Run Code Online (Sandbox Code Playgroud)
我承认我已经解决了这个问题,所以我要发布答案.但也许其他人有一个更好的或看到我的缺陷.
更新:我过度简化了上面的例子.在我的实际问题中,行以更复杂的方式格式化,需要从zip()返回的元组被解压缩.但是,为了达到这个例子最简单的解决方案,我感到非常荣幸.
python中使用des/3des进行加密/解密的最佳模块/包是什么.有人可以提供示例来使用python上的des/3des加密数据.
您可以将此问题视为如何在Ubuntu上安装OpenSSL C++库的后续问题?
我正在尝试在需要OpenSSL 1.0.0的Ubuntu 10.04 LTS上构建一些代码.
Ubuntu 10.04 LTS附带OpenSSL 0.9.8k:
$ openssl version
OpenSSL 0.9.8k 25 Mar 2009
Run Code Online (Sandbox Code Playgroud)
所以在运行sudo apt-get install libssl-dev和构建之后,运行ldd确认我已经在0.9.8中链接了:
$ ldd foo
...
libssl.so.0.9.8 => /lib/i686/cmov/libssl.so.0.9.8 (0x00110000)
...
libcrypto.so.0.9.8 => /lib/i686/cmov/libcrypto.so.0.9.8 (0x002b0000)
...
Run Code Online (Sandbox Code Playgroud)
如何安装OpenSSL 1.0.0和1.0.0开发包?
更新:我在阅读SB的答案后(但在尝试之前)写了这个更新,因为很明显我需要解释下载和安装OpenSSL 1.0.0的明显解决方案不起作用:
成功执行以下操作后(在INSTALL文件中推荐):
$ ./config
$ make
$ make test
$ make install
Run Code Online (Sandbox Code Playgroud)
......我仍然得到:
OpenSSL 0.9.8k 25 Mar 2009
Run Code Online (Sandbox Code Playgroud)
...和:
$ sudo apt-get install libssl-dev
Reading package lists... Done
Building dependency tree
Reading state …Run Code Online (Sandbox Code Playgroud) 我下载了OpenSSL的来源,并且做了config,make,sudo make install三部曲.
然后我构建了我的项目,链接在libcrypto.a和libssl.a中,但得到了:
ld: warning: in /usr/local/ssl/lib/libcrypto.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in /usr/local/ssl/lib/libssl.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
Run Code Online (Sandbox Code Playgroud)
我很确定我想将OpenSSL重新构建为32位(i386),因为(由于与此问题无关的原因)我的项目需要是32位.
如何在Mac OS X上将OpenSSL构建为32位?(我在"安装"文件中没有看到任何相关内容.)
我的源代码和构建树看起来像这样(参见Makefile将目标文件从源文件不同的目录放入一个单独的目录?)make之后(构建并运行FooAndBarTests):
src
- Foo.cpp
- Bar.cpp
inc
- Foo.h
- Bar.h
test
- FooTest.cpp
- BarTest.cpp
- Main.cpp
- Makefile
- obj
- Foo.gcda
- Foo.gcno
- Bar.gcda
- Bar.gcno
- FooAndBarTests
UnitTest++
- libUnitTest++.a
- src
- ...
Run Code Online (Sandbox Code Playgroud)
然后我可以通过运行gcov -o obj/ ../src/Foo.cpp和生成测试目录中的.gcov文件gcov -o obj/ ../src/Bar.cpp.
但如果我跑,lcov -d obj/ -c -o FooAndBarTests.lcov我得到:
Capturing coverage data from obj/
Found gcov version: 4.2.1
Scanning obj/ for .gcda files ...
Found 4 data files in …Run Code Online (Sandbox Code Playgroud) 我正在通过Haskell的逻辑,数学和编程之路.(我只是在第1章的中途,但到目前为止我很享受并打算继续.)我已经阅读了第1.5节"播放Haskell游戏",其中包含了许多其他示例.让你熟悉[Haskell]".到目前为止,我已经了解了函数,类型声明,保护方程,关于列表模式匹配以及where和let.
我坚持练习1.17,它要求我们写一个函数substring :: String - > String - > Bool其中:
我使用了前面例子中提供的前缀函数:
prefix :: String -> String -> Bool
prefix [] ys = True
prefix (x:xs) [] = False
prefix (x:xs) (y:ys) = (x==y) && prefix xs ys
Run Code Online (Sandbox Code Playgroud)
然后尝试:
substring :: String -> String -> Bool
subsstring xs [] = False
substring xs (y:ys) | prefix xs (y:ys) = True
| substring xs ys = True
| otherwise = False
Run Code Online (Sandbox Code Playgroud)
......以及其他可能的排列.
当我跑步时,substring "abc" "xxxabcyyy"我得到了 …
在阅读了Martin Fowler的Mocks Are Not Stubs之后,我发现我一直在以"模仿者"的方式练习TDD.
但我想知道即使是在模仿者TDD,如果一个人可以嘲笑太远.
这是Python风格的伪代码中的更新示例:
def sync_path(self):
if self.confirm_or_create_connection():
self.sync(self.dirpath)
Run Code Online (Sandbox Code Playgroud)
confirm_or_create_connection()方法创建与服务器的连接.
我在两个测试中测试了一个与此类似的方法,这两个测试都模拟confirm_or_create_connection()和sync()(即使它们都是同一个类中的方法).在一个测试中,模拟confirm_or_create_connection()返回True,测试确认已调用sync(),另一个模拟confirm_or_create_connection()返回False,测试确认未调用sync().
这合理吗?或者我应该模拟confirm_or_create_connection()和sync()调用的对象?(我已经对这两种方法进行了其他测试.)
请不要通过解释我应该练习"经典"TDD来回答这个问题.这是另一个问题的答案:我应该练习模仿者还是经典的TDD?
尝试将多个数据表示放在iPhone 3.0上的粘贴板上时遇到了一些问题.
我要做的是将数据表示和字符串表示放在粘贴板上.数据是我自己的数据类型,我用它来复制和粘贴我的应用程序.字符串表示是一种将我的应用程序内容作为大纲复制并粘贴到其他应用程序(例如Mail.app)的方法.
// payload
NSString *pasteboardString = [selectedNode stringRepresentation];
NSDictionary *pasteboardDictionary = [selectedNode nodeAndSubnodesProperties];
// set payload
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = pasteboardString;
[pasteboard setValue:pasteboardDictionary forPasteboardType:MNTNodesPasteboardType];
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,因为string属性和setValue:forPasteboardType:methode替换了粘贴板上的第一个表示.我尝试了addItems:但它对我不起作用.
感谢您的任何帮助!
我一直忘记在菜单中找到这个的地方.我经常使用(例如)项目中的查找来打开文档...然后想知道它在项目抽屉中的位置(特别是当它深埋在文件夹层次结构中时.如何在项目抽屉中突出显示当前文档?
macos ×3
python ×3
c++ ×2
32bit-64bit ×1
3des ×1
build ×1
cocoa ×1
copy-paste ×1
cryptography ×1
gcov ×1
haskell ×1
highlight ×1
installation ×1
iphone ×1
lcov ×1
loops ×1
mocking ×1
openssl ×1
service ×1
ssl ×1
tdd ×1
textmate ×1
ubuntu ×1
uipasteboard ×1
unittest++ ×1