当我操作路径和文件名时,我一直处于打结状态,因为我没有使用的通用命名系统.
我需要提出一个命名标准并坚持下去,我希望与其他人保持清晰和一致,所以我开放学习规范的答案.
考虑这个玩具问题:( Windows示例,但希望答案应该是平台无关的)
您已获得文件夹的全名:C:\ users\OddThinking\Documents\My Source.您想要遍历下面的文件夹,并将所有.src编译为.obj.
在某些时候,您正在查看以下字符串.
C:\users\OddThinking\Documents\My Source\Widget\foo.src
Run Code Online (Sandbox Code Playgroud)
那么,您将使用哪些标识符名称?
A) foo
B) foo.src
C) src
D) .src
E) C:\users\OddThinking\Documents\My Source\ - i.e. the top of the tree.
F) Widget\foo.src - i.e. the path from the top of the tree to the leaf.
G) Widget - i.e. one node of the tree.
H) C:\users\OddThinking\Documents\My Source\Widget\ - i.e. the name of the folder
I) C:\users\OddThinking\Documents\My Source\Widget\foo.src
Run Code Online (Sandbox Code Playgroud)
让我给出一些答案,让你开始吧.
A)基地名称?
B)文件名?还是文件名?选择标识符名称时,差异很重要,我在这里永远不会保持一致.
C)扩展
D)扩展.等等,这就是我所说的C.我应该避免存储点,只需要在需要时插入?如果特定文件上没有点怎么办?
H)路径名称?或等等,这只是路径吗?
I)文件名.等等,这就是我所说的C. Path.等等,这就是我所说的H.也许H应该是文件夹名称.不是"文件夹"是特定于Windows的术语吗?
我正在尝试使用自动备份duplicity,但是当我测试结果时,我得到了
gpg:公钥解密失败:密码错误
我想检查我使用的密码是否实际上是与相应的gpg密钥相关联的密码,但我无法在gpg命令行选项中看到说"不加密或解密任何东西.只需确认我正在使用正确的密码."
这表明我可能(又一次)误解了Gnu Privacy Guard.(在我哭之前,它倾向于嘲弄我.)
请求gpg验证密码是否有意义?如果是这样,怎么样?
我想写一个SQL查询,在文本字段中搜索关键字,但只有当它是"全字匹配"时(例如,当我搜索"rid"时,它不应该匹配"arid",但它应该匹配"一个摆脱".
我正在使用MySQL.
幸运的是,性能在这个应用程序中并不重要,数据库大小和字符串大小都很小,但我更喜欢在SQL中而不是在PHP中驱动它.
Python的NOSE测试框架具有并行运行多个测试的概念.
这样做的目的不是测试代码中的并发性,而是为没有副作用,没有排序问题,没有外部依赖性的代码进行测试,运行得更快.性能增益来自于访问不同设备时的并发I/O等待,更好地使用多CPU /内核以及并行运行time.sleep()语句.
我相信使用Python的单元测试框架可以通过插件Test Runner完成同样的事情.
有没有人有这种野兽的经验,他们可以提出任何建议吗?
strptime许多语言库中都有一个函数(C,Python,Ruby,PHP,PERL等).
它似乎是基于Open Group的规范time.h.
我理解'str'代表字符串,'time'显然代表时间,但'p'代表什么?解析?指针?打印?
每次我到达strptime()函数时,我都有一个心理空白,并且必须在手册中查找名称.我想如果我最终弄清楚它代表什么,也许我有机会记住它.
我还没有弄清楚关键概念numpy.
我想创建一个三维数组,并使用函数调用的结果填充每个单元格 - 即该函数将使用不同的索引多次调用并返回不同的值.
注意:自编写此问题以来,文档已更新为更清晰.
我可以用零(或空)创建它,然后使用for循环覆盖每个值,但直接从函数填充它似乎更干净.
fromfunction听起来很完美.阅读文档听起来像每个单元格调用一次函数.
但是当我真正尝试它的时候......
from numpy import *
def sum_of_indices(x, y, z):
# What type are X, Y and Z ? Expect int or duck-type equivalent.
# Getting 3 individual arrays
print "Value of X is:"
print x
print "Type of X is:", type(x)
return x + y + z
a = fromfunction(sum_of_indices, (2, 2, 2))
Run Code Online (Sandbox Code Playgroud)
我希望得到类似的东西:
Value of X is:
0
Type of X is: int
Value of X is: …Run Code Online (Sandbox Code Playgroud) 我有一本字典,里面装满了物品.我想偷看一个单一的,任意的项目:
print "Amongst our dictionary's items are such diverse elements as: %s" % arb(dictionary)
Run Code Online (Sandbox Code Playgroud)
我不在乎哪个项目.它不需要是随机的.
我可以想到许多实现这一点的方法,但它们看起来都很浪费.我想知道在Python中是否有任何首选习语,或者(如果我错过了一个)(甚至更好).
def arb(dictionary):
# Creates an entire list in memory. Could take a while.
return list(dictionary.values())[0]
def arb(dictionary):
# Creates an entire interator. An improvement.
for item in dictionary.itervalues():
return item
def arb(dictionary):
# No iterator, but writes to the dictionary! Twice!
key, value = dictionary.popitem()
dictionary[key] = value
return value
Run Code Online (Sandbox Code Playgroud)
我处于这样一个位置:性能不够严重,这很重要(还),所以我可以被指责过早优化,但我正在努力改进我的Python编码风格,所以如果有一个易于理解的变体,采用它会很好.
Google最近发布的有关Google Prediction API的声明听起来非常有趣.它对于即将推出的项目非常有用,并且可能比我正在考虑的一些自定义代码做得更好.
但是,有一些供应商锁定.Google保留了经过培训的模型,之后可能会选择对我收取高额费用.在我看来,如果我愿意自己(我是)主持培训,并且在没有能力在某个时刻注意到硬件问题的情况下,可能存在开源等价物.
上次我看了很多年前的第三方计算机培训代码,并且有很多细节需要仔细考虑并为您的项目定制.谷歌似乎隐藏了这些决定,并为您照顾它们.对我而言,这仍然与魔法无法区分,但我想知道其他人是否也可以这样做.
所以我的问题是:
Google Prediction API还有哪些替代方案:
我最近继承了一些用Python 2.7编写的Selenium Webdriver代码.它正在将大量数据记录到Ubuntu上的/ tmp中 - 以至于它正成为一个问题.我试图将其关闭(或者至少关闭).
我一直在尝试使用RTFM,但这是Selenium(2.19.0)的新版本,手册尚未编写!
我可以看到有一种set_browser_log_level(logLevel)声音很有前途的方法,但要实现它,我需要实例化一个selenium.selenium.selenium对象.我不需要实例化其中一个,它需要很多参数(主机?什么端口?),我不希望提供.
显然,我误解了一些事情.
有人可以解释一下(a)如何关闭日志记录,或者(b)selenium.selenium.selenium.selenium.selenium(我可能已经被带走了,抱歉!)想要与之交谈的服务是什么?
我用urllib2的是build_opener()创造一个OpenerDirector.我正在使用它OpenerDirector来获取慢速页面,因此它有一个很大的超时.
到现在为止还挺好.
但是,在另一个线程中,我被告知要中止下载 - 假设用户已经选择退出GUI中的程序.
有没有办法发出urllib2下载应该退出的信号?