我有一个python脚本,看起来像这样:
for item in collection:
print "what up"
#do complicated stuff that takes a long time.
Run Code Online (Sandbox Code Playgroud)
在bash中,我通过执行以下操作来运行此脚本:
$ python my.py | tee my_file.txt
Run Code Online (Sandbox Code Playgroud)
但是,我在bash中看到的只是一个空行,直到程序结束.然后,所有的打印语句都在一个.
这是发球台的预期操作吗?我可以使用T恤实时查看输出吗?
当我在 Macbook 上运行以下命令时,出现错误:
>>> import hashlib
>>> hashlib.md5(usedforsecurity=False)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: openssl_md5() takes no keyword arguments
Run Code Online (Sandbox Code Playgroud)
但是当我在我的 Linux 机器上运行它时,它就可以工作了!
>>> import hashlib
>>> hashlib.md5(usedforsecurity=False)
<md5 HASH object @ 0x7f763c1375d0>
Run Code Online (Sandbox Code Playgroud)
我的问题是,我需要在启用 FIPS 的系统上运行一些安全、非安全相关的代码(例如管理用户请求的缓存,将用户查询哈希为 MD5 字符串)。使用该usedforsecurity标志可防止 FIP 异常。
这工作得很好,除非我想在 Macbook 上测试我的代码。我的 Macbook 的“libcrypto”库显然不支持此usedforsecurity标志。有没有一个好方法来检测背后的底层 C 绑定hashlib.md5是否支持此标志?
只是学习更多关于线程和并发性的知识,并考虑使用常规哈希表和ConcurrentHashMap.
测试这些哈希表的并发性的好方法是什么?
(显然哈希表会通过此测试)
如果我还能以某种方式跟踪测试执行多少读/写以更快地查看哪一个(ht或conccurrent ht),那将会很酷.