哪个是用python解析带有X509证书的二进制文件以DER格式提取公钥的最佳方法.
假设我有一个带有V节点和E边的无向图.如果我用相邻列表表示图,如果我有一个x和y之间的边的表示,我还必须表示y和x之间的边.邻接清单.
我知道有向图的DFS具有V + E复杂性.对于无向图,它没有v + 2*e复杂度,因为你访问每个边2次?抱歉,如果这是一个noobish问题..我真的想了解这个想.谢谢,
我正在尝试使用 python 3.2 SMTPlib.sendmail() 函数发送消息,在对 SMTP 库进行一些修改后(即注释掉抑制错误消息的 rset() 函数)我设法检索到以下错误消息从服务器:
SendMail 失败(554,b'交易失败:由于可能的滥用而无法发送邮件;请访问http://postmaster.yahoo.com/abuse_smtp.html了解更多信息')
雅虎邮件 SMTP 服务器认为我在发送垃圾邮件,该 URL 确实链接到任何有用的东西。我认为这与标题不足有关,我似乎无法找到关于什么构成合规标题的明确答案,而且我已经阅读了 Gmail 的类似问题。此帖子已替换为模拟电子邮件。
任何帮助,将不胜感激
我的完整代码如下:
self.message = email.message_from_string('''To: <ksmith@yahoo.co.nz>
From: <rwilson@yahoo.co.nz>
Reply-To: <rwilson@yahoo.co.nz>
Subject: Test send mail \n\n Hello''')
fromAddress = 'rwilson@yahoo.co.nz'
toAddress = 'ksmith@yahoo.co.nz'
try:
self.smtp = SMTP()
self.smtp.connect('smtp.mail.yahoo.com')
except Exception:
print('Connection Failed')
print(traceback.format_exc())
try:
self.smtp.login('rwilson','tree22')
except Exception:
print('Login Failed!')
print(traceback.format_exc())
try:
self.smtp.sendmail(fromAddress,toAddress ,self.message.as_string())
print("Message sucessfully sent!")
self.smtp.close()
except Exception as e:
print('SendMail Failed')
print(e)
Run Code Online (Sandbox Code Playgroud) 我有一个numpy元组:
trainY = np.array([('php', 'image-processing', 'file-upload', 'upload', 'mime-types'),
('firefox',), ('r', 'matlab', 'machine-learning'),
('c#', 'url', 'encoding'), ('php', 'api', 'file-get-contents'),
('proxy', 'active-directory', 'jmeter'), ('core-plot',),
('c#', 'asp.net', 'windows-phone-7'),
('.net', 'javascript', 'code-generation'),
('sql', 'variables', 'parameters', 'procedure', 'calls')], dtype=object)
Run Code Online (Sandbox Code Playgroud)
我给出了这个np.array子集的索引列表:
x = [0, 4]
Run Code Online (Sandbox Code Playgroud)
和一个字符串:
label = 'php'
Run Code Online (Sandbox Code Playgroud)
我想计算标签'php'出现在np.array的这个子集中的次数.在这种情况下,答案是2.
笔记:
1)标签只会出现在元组中的最多ONCE
2)元组的长度可以是1到5.
3)列表的长度x通常为7-50.
4)长度trainY约为0.8密耳
我目前的代码是:
sum([1 for n in x if label in trainY[n]])
Run Code Online (Sandbox Code Playgroud)
这是我的程序的性能瓶颈,我正在寻找一种方法来使它更快.我认为,我们可以在跳过循环x,只是做了矢量化仰视trainY喜欢trainY[x],但我无法得到的东西的工作.
谢谢.
运行子进程将无法正确处理花括号
# Python 2.7.4
import subprocess
subprocess.Popen('ls src/*.cpp',shell=True):
src/tonemap.cpp src/pch.cpp
subprocess.Popen('ls src/{t,p}*.cpp', shell=True)
ls: cannot access src/{p,t}*.cpp: No such file or directory
Run Code Online (Sandbox Code Playgroud)
相同的程序将在python 2.7.2的不同机器上运行.两个系统都使用bash shell.
你是理由,我该如何解决?
编辑:
直接从命令行调用命令会返回正确的结果:
ls src/{t,p}*.cpp
src/tonamep.cpp src/pch.cpp
Run Code Online (Sandbox Code Playgroud) 我想使用Popen从我的Python脚本中调用ImageMagick中的"convert"实用程序,如下所示:
Popen(["convert", input_path, "-flop", output_file_path])
Run Code Online (Sandbox Code Playgroud)
(上面的例子只是水平反转图像)
问题是,当我在Windows中运行脚本时,它错误地调用convert.exeWindows附带的实用程序将FAT分区转换为NTFS!(位于\ Windows\system32)
现在,如果我在system32以外的任何目录中随机打开命令提示符,并键入"convert",它会正确运行ImageMagick可执行文件.所以,这意味着Popen会自动查看system32.如何让它不在system32中查看,并运行正确的可执行文件?
我想做一件简单的事情:monkey-patch datetime。我不能完全那样做,因为datetime是 C 类。
所以我写了下面的代码:
from datetime import datetime as _datetime
class datetime(_datetime):
def withTimeAtMidnight(self):
return self.replace(hour=0, minute=0, second=0, microsecond=0)
这是在我称为 pimp 的包中名为 datetime.py 的文件中。
从我得到的错误消息中:
回溯(最近一次调用最后一次):
文件“run.py”,第 1 行,在
从 pimp.datetime 导入日期时间
文件“/home/lg/src/project/library/pimp/datetime/datetime.py”,第 1 行,在
从日期时间导入日期时间为 _datetime
导入错误:无法导入名称日期时间
我假设我不能有一个名为datetime从另一个名为datetime.
我应该如何继续保持我的模块和类的命名datetime?
from datetime import datetime
import time
for i in range(1000):
curr_time = datetime.now()
print(curr_time)
time.sleep(0.0001)
Run Code Online (Sandbox Code Playgroud)
我正在测试 的分辨率datetime.now()。由于它应该以微秒为单位输出,因此我预计每次打印都会有所不同。
然而,我总是得到类似的东西。
...
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.212073
2015-07-10 22:38:47.213074
2015-07-10 22:38:47.213074
2015-07-10 22:38:47.213074
2015-07-10 22:38:47.213074
2015-07-10 22:38:47.213074
2015-07-10 22:38:47.213074
2015-07-10 22:38:47.213074
2015-07-10 22:38:47.213074
2015-07-10 22:38:47.213074
2015-07-10 22:38:47.213074
2015-07-10 22:38:47.213074
...
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?有什么方法可以获得精确到微秒的时间戳吗?实际上我不需要微秒,但能获得 0.1 毫秒的分辨率就很好了。
===更新====
我将其与使用 time.perf_counter() 进行比较,并添加到起始datetime
日期时间导入日期时间、timedelta 导入时间 …
我正在尝试为倒数计时器创建一个代码保持原位:这样每行都会覆盖前一行.这是我到目前为止:
import time
def countdown(t):
while t:
mins, secs = divmod(t, 60)
timeformat = "{:02d}:{:02d}".format(mins, secs)
print(timeformat, end='\r')
time.sleep(1)
t -= 1
print("That's the end! You lose...\n\n\n\n\n")
exit()
countdown(10)
Run Code Online (Sandbox Code Playgroud)
但是,输出是:
00:10
00:09
00:08
...
00:00
That's the end! You lose...
Run Code Online (Sandbox Code Playgroud)
为什么回车似乎不起作用?
我正在研究当前的玩具代码,试图理解asyncio模块.
import asyncio
import os, sys, traceback
from time import time
os.environ['PYTHONASYNCIODEBUG'] = '1'
print(sys.version)
def timed_fib(n):
def fib(n):
return fib(n - 1) + fib(n - 2) if n > 1 else n
a = time()
return fib(n), time() - a
def process_input():
text = sys.stdin.readline()
n = int(text.strip())
print('fib({}) = {}'.format(n, timed_fib(n)))
@asyncio.coroutine
def print_hello():
while True:
print("{} - Hello world!".format(int(time())))
yield from asyncio.sleep(3)
def main():
loop = asyncio.get_event_loop()
loop.add_reader(sys.stdin, process_input)
loop.run_until_complete(print_hello())
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
然而,尝试运行它会产生下面令人难以置信的神秘回溯.如您所见,调试环境变量在上面代码的第五行中设置,但是,回溯仍然非常无益,如下所示:
3.4.3rc1 …Run Code Online (Sandbox Code Playgroud) python ×9
windows ×3
datetime ×2
popen ×2
python-3.x ×2
subprocess ×2
arrays ×1
email ×1
graph ×1
numpy ×1
performance ×1
public-key ×1
python-2.7 ×1
python-3.2 ×1
python-3.4 ×1
python-idle ×1
smtp ×1
string ×1
yahoo-mail ×1