小编tae*_*esu的帖子

获取反向列表的长度

获取反向列表的长度不起作用:

lst = [1,2,3]
lst = reversed(lst)
print len(lst)
Run Code Online (Sandbox Code Playgroud)

TypeError: object of type 'listreverseiterator' has no len()

解决方法是:

lst = [1,2,3]
lst_length = len(lst)
lst = reversed(lst)
print lst_length

# OR
lst = lst[::-1]
print len(lst)
Run Code Online (Sandbox Code Playgroud)

现在我真正的问题是为什么
简单地反转列表不会改变列表的长度,
那么为什么Python会抛出该异常呢?

python list python-2.7

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

在<input>中禁用零作为第一个字母

下面的代码禁用0作为第一个字符#foo.
但是,您可以通过键入123,然后拖动以选择123和放置来绕过此0.(或ctrl+a输入)

有办法阻止这种情况吗?

 $('input#foo').keypress(function(e){ 
  if (this.value.length == 0 && e.which == 48 ){
   return false;
   }
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="foo" />
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

可以修饰变量吗?

在python中装饰函数或方法很棒。

@dec2
@dec1
def func(arg1, arg2, ...):
    pass
#This is equivalent to:

def func(arg1, arg2, ...):
    pass
func = dec2(dec1(func))
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以在python中修饰变量。

@capitalize
@strip
foo = ' foo '

print foo # 'FOO'
#This is equivalent to:
foo = foo.strip().upper()
Run Code Online (Sandbox Code Playgroud)

我无法通过搜索找到关于该主题的任何内容。

python decorator python-decorators

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

numpy 数组中维度的平均值

我的 numpy 数组(名称:数据)具有以下大小:(10L,3L,256L,256L). 它有 10 个图像,每个图像具有 3 个颜色通道 (RGB),每个图像大小为 256x256 像素。

我想计算所有 10 个图像的每个颜色通道的平均像素值。如果我使用 numpy 函数np.mean(data),我会收到所有像素值的平均值。Usingnp.mean(data, axis=1)返回一个大小为 numpy 的数组(10L, 256L, 256L)

python arrays numpy

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

Chrome 59挂起了--headless和--proxy-server标志

所以现在Chrome 59有无头支持和适当的驱动程序(Chromedriver 2.30),我尝试将代码迁移到它.

- 无头旗自己工作.
--proxy-server标志本身可以工作,但是
将两者组合在一起会挂起浏览器.

它有解决方法吗?

环境: - 铬59
- Chromedriver 2.30
- 硒2.46.0

码:

from selenium import webdriver
chop = webdriver.ChromeOptions()
chop.add_argument("--headless")
chop.add_argument("--proxy-server=socks5://127.0.0.1:8080")
d = webdriver.Chrome(chrome_options=chop)
print("done")
d.get('http://ipinfo.io')
print(d.page_source)
Run Code Online (Sandbox Code Playgroud)

追溯:

  Traceback (most recent call last):
      File "t.py", line 5, in <module>
        d = webdriver.Chrome(chrome_options=chop)
      File "/home/t/env/lib/python3.5/site-packages/selenium/webdriver/chrome/webdriver.py", line 68, in __init__
        keep_alive=True)
      File "/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 89, in __init__
        self.start_session(desired_capabilities, browser_profile)
      File "/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 138, in start_session
        'desiredCapabilities': desired_capabilities,
      File "/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 195, in execute
        self.error_handler.check_response(response)
      File "/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line …
Run Code Online (Sandbox Code Playgroud)

selenium google-chrome selenium-chromedriver

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

扩展form.is_valid()

我正在学习Django,我偶然发现了一些我需要帮助的东西:

forms.py

class UserForm(forms.ModelForm):
    password1 = forms.CharField(widget=forms.PasswordInput())
    password2 = forms.CharField(widget=forms.PasswordInput())

    class Meta:
        model = User
        fields = ('username', 'email', 'password1','password2')

    def password_matched(self):
        if self.data['password1'] != self.data['password2']:
            self.errors['password'] = 'Passwords do not match'
            return False
        else:
            return True

    def is_valid(self):
        valid = super(UserForm,self).is_valid()
        password_matched = self.password_matched()
        if valid and password_matched:
            return True
        else:
            return False
Run Code Online (Sandbox Code Playgroud)

views.py

def register(request):
     #blah...
     user.set_password(user.password)
     # user.set_password(user.password1) doesn't work ! WHY!?
Run Code Online (Sandbox Code Playgroud)

所以基本上,我检查,如果pw1 == pw2,
检查后,我要设置用户的密码PASSWORD1.
我最初使用该行,user.set_password(user.password1)但它抱怨User对象没有password1,但它在我使用时有效password.

这是为什么?谢谢.

django

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

剥离删除比预期更多的字符

任何人都可以解释这里发生了什么:

s = 'REFPROP-MIX:METHANOL&WATER'
s.lstrip('REFPROP-MIX')   # this returns ':METHANOL&WATER' as expected
s.lstrip('REFPROP-MIX:')   # returns 'THANOL&WATER'
Run Code Online (Sandbox Code Playgroud)

那个'我'怎么了?冒号是lstrip的特殊字符吗?这特别令人困惑,因为这可以按预期工作:

s = 'abc-def:ghi'
s.lstrip('abc-def')   # returns ':ghi'
s.lstrip('abd-def:')  # returns 'ghi'
Run Code Online (Sandbox Code Playgroud)

python string

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

在达到可见性超时并且消息已重新排队后删除

假设我有一份工作需要 10 秒到 40 秒不等。
可见性超时设置为 30 秒。

一项工作在 40 秒内完成,因此消息返回队列,其他工作人员可见。

花了 40 秒的工作人员现在删除了该消息。

  1. 删除消息是否成功?
  2. 作业会从队列中消失吗?

谢谢。

amazon-sqs

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

Python 缓存列表

我有一个模块,支持使用公司标准接口创建地理对象。创建这些对象后,update_db()调用该方法,并将所有对象更新到数据库中。

将所有对象插入一个会话中非常重要,以便在更新生产数据库之前保留计数器和统计信息。

问题是有时对象太多,内存就会满。

有没有办法在 Python 中创建缓存列表,以处理不适合内存的列表?

我的总体想法是:

class CachedList(object):
    def __init__(self, max_memory_size, directory)
    def get_item(index)
    def set_item(index)
    def del_item(index)
    def append(item)
Run Code Online (Sandbox Code Playgroud)

初始化时将创建一个普通列表。当列表的大小超过 时max_memory_size,列表元素将被腌制并存储在 中的文件中directoryget_item()set_item()并将del_item() 处理存储在内存中的数据,或从磁盘“交换”数据以访问它。

  1. 这是一个好的设计吗?有没有标准的替代品?
  2. 如何在pickle列表的一部分之后强制进行垃圾回收?

谢谢,

亚当

python caching list data-structures

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

window.open()应该在同一个选项卡中打开链接

我是javascript的新手,编写了一个程序,它将打开一个查询字符串作为链接.
我使用了window.open(),但链接在新选项卡
中打开,我想在同一个选项卡中打开此链接.
代码如下.

var strquerystring;  
if(fromvalue==""||tovalue==""){  
  alert('kindly fill all the details');
}else{
  window.open(strquerystring);
}
Run Code Online (Sandbox Code Playgroud)

html javascript window.open

3
推荐指数
2
解决办法
2万
查看次数