小编Dra*_*uan的帖子

如何在 SVN 中跟踪移动文件/目录的完整日志?

以下是svn log -v的结果,它停止在文件/目录移动的修订中。如何获取完整的跟踪日志?

svn log -v

r3171 | drake | 2010-08-16 15:04:49 +0800 (Mon, 16 Aug 2010) | 1 line
Changed paths:
   D /lib/python2.5/dgGetFileSequence.py
   D /lib/python2.5/dgHumanSort.py
   D /lib/python2.5/dgconfig.py
   D /lib/python2.5/dgdata.py
   D /lib/python2.5/dgtools.py
   A /python/dgtools/dgGetFileSequence.py (from /lib/python2.5/dgGetFileSequence.py:3170)
   A /python/dgtools/dgHumanSort.py (from /lib/python2.5/dgHumanSort.py:3170)
   A /python/dgtools/dgconfig.py (from /lib/python2.5/dgconfig.py:3170)
   A /python/dgtools/dgdata.py (from /lib/python2.5/dgdata.py:3170)
   A /python/dgtools/dgtools.py (from /lib/python2.5/dgtools.py:3170)
Run Code Online (Sandbox Code Playgroud)

svn

5
推荐指数
1
解决办法
4009
查看次数

5
推荐指数
1
解决办法
5453
查看次数

使用'pip |部署Python软件包的任何方法 easyinstall'+'* .pyc only'+'flat名称空间包装'+ virtualenv?

目标:

  • 利用现代的Python打包工具集将专有程序包部署/安装到某些virtualenv中。
  • 安装的软件包应仅包含已编译的* .pyc(或* .pyo),而不包含源文件。
  • 有几个软件包,并且使用供应商名称(此处为Studio 选择dgmx)作为软件包名称。因此,安装的软件包将类似于dgmx / alucarddgmx / bansheedgmx / carmilla,...
  • 已安装软件包的文件层次结构应类似于python setup.py install --single-version-externally-managedpip install。请参阅为什么我无法通过手动* python setup.py install *获得准确的结果到* pip install *?

简短的问题:

我喜欢仅通过已编译的* .pyc(或* .pyo)文件将专有的命名空间包部署到virtualenv中,其中文件/目录层次结构只是通过许多ooxx.egg路径污染sys.path来反映名称空间。

我尝试过的东西:

  1. python setup.py bdist_egg --exclude-source-files然后easy_install ooxx.egg
    • 为每个名称空间包污染“ sys.path”。
  2. python setup.py install --single-version-externally-managed
    • 不只是* .pyc。
    • “ install_requires”被忽略了!
    • 需要手动放置ooxx.egg-info / installed-files.txt才能使卸载正常进行。
  3. pip install . 在“ setup.py”的位置。
    • 不只是* .pyc。 …

python packaging setuptools virtualenv

5
推荐指数
1
解决办法
1923
查看次数

GNU Parallel 使用管道并行执行命令?

给定一个由管道组合的多个命令的任务:

cat input/file1.json | jq '.responses[0] | {labelAnnotations: .labelAnnotations}' > output/file1.json

现在,有数千个输入 JSON 文件,我喜欢利用 GNU Parallel 来并行化所有进程。我怎么能这么做呢?像这样的东西吗?

parallel cat {} | jq '...' > output/{./} ::: input/*.json

注意:如果里面有管道,事情会变得更加复杂jq注意:如果过滤器

gnu-parallel jq

5
推荐指数
1
解决办法
3639
查看次数

参与开源项目的正确方法?

随着github的易用性和良好的设计,我们,实际上只有两个,在一个小型技术公司(或中型动画工作室)想参与一个开源项目:partio.我们分叉它并开始提交/推送一些东西.它刚刚开始,没有任何坏或好的事情发生.因为长时间受益于开源,我想反馈一些有用或有意义的东西.我想知道我应该做什么或不应该做什么来使我们的微小努力有所贡献,但不是有害的?

然后,另一个问题是:在参与开源项目时我们应该注意什么?

我检查过的其他一些问题:

git open-source github

4
推荐指数
1
解决办法
878
查看次数

由openssl和PyCrypto加密AES_128_CTR

想知道通过openssl将AES_128_CTR加密转换为PyCrypto的正确方法.

首先,我通过openssl进行了加密,如下所示:

openssl enc -aes-128-ctr -in input.mp4 -out output.openssl.mp4 -K 7842f0a1ebc38f44e3e0c81943f68582 -iv d01f40dfc8ec8cd9
Run Code Online (Sandbox Code Playgroud)

然后,我尝试通过PyCrypto做同样的事情:

from Crypto.Cipher import AES
from Crypto.Util import Counter
key = '7842f0a1ebc38f44e3e0c81943f68582'
iv = 'd01f40dfc8ec8cd9'

ctr_e = Counter.new(128, initial_value=int(iv, 16))
encryptor = AES.new(key.decode('hex'), AES.MODE_CTR, counter=ctr_e)

with open('output.pycrypto.mp4', 'wb') as fout:
    with open('input.mp4', 'rb') as fin:
        fout.write(encryptor.encrypt(fin.read()))
Run Code Online (Sandbox Code Playgroud)

我认为他们应该是相似的,但它不是:

diff output.openssl.mp4 output.pycrypto.mp4
Binary files output.openssl.mp4 and output.pycrypto.mp4 differ
Run Code Online (Sandbox Code Playgroud)

python encryption openssl aes pycrypto

4
推荐指数
1
解决办法
1096
查看次数

在"git svn clone"之后,我仍然没有很棒的分支合并提交?

在我做了git svn clone --stdlayout ...后,一切看起来都不错,我已经转换了远程分支.但是当git log --graph时,我没有看到任何分支合并图.这是正常的吗?

git git-svn

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

在Python 2.x中将u'\ xe0'转换为'\ u00E0'?

在Python 2.x中,如何将unicode字符串(ex,u'\xe0')转换为字符串(这里我需要它'\u00E0')?

使它更清楚.我喜欢有'\u00E0'一个长度为6的字符串.也就是说,¥u被视为2个字符而不是一个转义字符.

python unicode python-2.x

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

部分函数应用程序与Python中的原始docstring?

对于部分功能应用,我知道在Python中有几种方法可以做到这一点.但是,他们似乎不保留原始函数的docstring.

functools.partial为例:

from functools import partial

def foo(a, b, c=1):
    """Return (a+b)*c."""
    return (a+b)*c

bar10_p = partial(foo, b=10)
print bar10_p.__doc__

partial(func, *args, **keywords) - new function with partial application 
of the given arguments and keywords.
Run Code Online (Sandbox Code Playgroud)

我们试试fn.py:

from fn import F

def foo(a, b, c=1):
    """Return (a+b)*c."""
    return (a+b)*c

bar10_F = F(foo, b=10)
print bar10_F.__doc__

Provide simple syntax for functions composition
(through << and >> operators) and partial function
application (through simple tuple syntax).

Usage …
Run Code Online (Sandbox Code Playgroud)

python partial-application

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

如何在cmake中通过SWIG更改生成的.py文件?

我们可以使用EXECUTABLE_OUTPUT_PATH来类似于$ {PROJECT_BINARY_DIR} / bin。如何通过SWIG设置生成的python模块的输出路径。

例如,得到以下CMakeLists.txt

FIND_PACKAGE(SWIG)
IF(SWIG_FOUND) 
FIND_PACKAGE(PythonLibs)
IF(PYTHONLIBS_FOUND)

INCLUDE(${SWIG_USE_FILE})

EXECUTE_PROCESS( COMMAND python -c "import sys;print"%s.%s"%sys.version_info[0:2]" OUTPUT_VARIABLE PYTHON_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)


INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})

SET(CMAKE_SWIG_FLAGS "")

SET_SOURCE_FILES_PROPERTIES(partio.i PROPERTIES CPLUSPLUS ON)
SET_SOURCE_FILES_PROPERTIES(partio.i PROPERTIES SWIG_FLAGS "-includeall")
SWIG_ADD_MODULE(partio python partio.i)
SWIG_LINK_LIBRARIES(partio ${PYTHON_LIBRARIES} ${ZLIB_LIBRARY} partio)

SET(PYTHON_DEST "lib64/python${PYTHON_VERSION}/site-packages" )
INSTALL(TARGETS _partio DESTINATION ${PYTHON_DEST})
INSTALL(FILES ${CMAKE_BINARY_DIR}/${outdir}/src/py/partio.py  DESTINATION ${PYTHON_DEST})

ENDIF(PYTHONLIBS_FOUND)
ENDIF(SWIG_FOUND)
Run Code Online (Sandbox Code Playgroud)

python swig cmake

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

在CouchDB中将视图放入同一设计文档的原则?

在CouchDB中创建视图时,您如何确定用于新创建的视图的设计文档?也就是说,通过什么原则来确定是否将2个或更多视图放入同一个设计文档中?

couchdb

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

在ffmpeg中'-s'和'-vf scale ='之间有什么不同,特别是在双通道转码中?

在ffmpeg中'-s'和'-vf scale ='之间有什么不同?

对于ffmpeg中的两遍转码,那么差异或影响是什么呢?

ffmpeg

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

Python中的模块范围的析构函数?

我想知道是否有一个模块范围的析构函数,以便我们可以利用它来最终确定或调用模块中的某些特定关闭函数?

例如,模块日志的一些处理程序被创建并填充到堆栈中(例如,handler1.push_application()最好在程序退出时弹出这些处理程序.如果有某种自动函数调用来执行此操作,那将会很棒.模块范围的析构函数是我能想到的可能的候选者之一:)

python logging destructor

1
推荐指数
1
解决办法
483
查看次数