我正在尝试确定将 selenium 屏幕截图保存到 S3 的最 Pythonic 方法。我真的很想避免将 selenium 屏幕截图写入磁盘,然后加载并保存到 S3。但是我认为不可能将硒屏幕截图保存为变量。下面是我到目前为止想出的功能。我可以使用 boto 将其直接保存到该位置吗?
def screenshot(request):
conn = S3Connection('########', '########')
bucket = conn.get_bucket('bucket')
k = Key(bucket)
k.key = 'lab3'
driver = webdriver.PhantomJS() # or add to your PATH
driver.set_window_size(1024, 768) # optional
driver.get(request)
driver.save_screenshot(request + '_toS3.png') # would rather save to s3
Run Code Online (Sandbox Code Playgroud)
注意:使用 django 在 Apache Web 服务器上运行
我有一份命令字典。我想将所有这些组合在一起,然后按每个中的fruit属性对其进行排序。我一直在通过下面的代码使用defaultdict对它们进行组合和排序。
super_dict_apple = defaultdict(list)
super_dict_orange = defaultdict(list)
super_dict_no_fruit = defaultdict(list)
for d in dict:
if 'fruit' not in d:
for k, v in d.iteritems():
super_dict_no_fruit[k].append(v)
elif d['fruit'] == 'Apple':
for k, v in d.iteritems():
super_dict_apple[k].append(v)
elif d['fruit'] == 'orange':
for k, v in d.iteritems():
super_dict_orange[k].append(v)
Run Code Online (Sandbox Code Playgroud)
这样我得到了一个键和所有相关的值,但是我失去了原始顺序。因此,我尝试使用orderDict来执行此操作,但是我无法使其正常工作,以下是我尝试过的操作。
from collections import OrderedDict
order_dict_no_fruit = OrderedDict()
order_dict_apple = OrderedDict()
order_dict_orange = OrderedDict()
for d in dict:
if 'fruit' not in d:
for k, v in d.iteritems():
order_dict_no_fruit[k].append(v)
elif d['fruit'] == 'Apple':
for k, …Run Code Online (Sandbox Code Playgroud) python ordereddictionary data-structures defaultdict dictionary-missing
我在matlab中创建这个矩阵时遇到了麻烦,基本上我需要创建一个矩阵,其中-1穿过中心对角线,然后是对角线外面的4s(下面的例子).所有其他值都可以为零.
A5 = [-1 4 0 0 0;
4 -1 4 0 0;
0 4 -1 4 0;
0 0 4 -1 4;
0 0 0 4 -1];
Run Code Online (Sandbox Code Playgroud)
我尝试过使用命令,v = [4]; D = diag(v)
但只适用于中心对角线.
我有一个文本文件,看起来像:
Date Fruit-type Color count
aug-6 apple green 4
aug-7 pear brown 5
aug-3 peach yellow 10
aug-29 orange orange 34
Run Code Online (Sandbox Code Playgroud)
我想解析它以将不规则的空格删除到格式良好的pandas数据帧中.我想删除空格并用另一个分隔符替换它们但是无法弄清楚逻辑.
期望的输出
Date,Fruit-type,Color,count
aug-6,apple,green,4
aug-7,pear,brown,5
aug-3,peach,yellow,10
aug-29,orange,orange,34
Run Code Online (Sandbox Code Playgroud)