鍍金池/ 問答/ Python問答
離觴 回答

clipboard.png
可以通過捉包得出, 登錄url 不是https://passport.csdn.net/acc...
而是這個https://passport.csdn.net/acc...
session.post(url,data=post_data, headers=headers)
中的url 改回 https://passport.csdn.net/acc... 就可以登錄

糖豆豆 回答

你是怎么寫的它默認(rèn)就是左右不會上下
除非你設(shè)置了direction: 'vertical'

小曖昧 回答

可以考慮db.source_db.copyTo(target_db) 要注意這個會鎖住數(shù)據(jù)庫,還有就是要備份,或者把現(xiàn)有的2個數(shù)據(jù)庫拷貝到第3個里面,這樣不怕數(shù)據(jù)丟失,即使有什么問題依然有原始數(shù)據(jù)。

絯孑氣 回答

不知道你具體想要達(dá)到什么目的,如果只是想知道為什么這個命令不對,從字面意思看set-upstream-to就是設(shè)置當(dāng)前分支的跟蹤分支是什么,感覺后面就需要一個參數(shù),也就是需要跟蹤的分支:

git branch --set-upstream-to origin/dev

set-upstream看字面意思是設(shè)置什么分支跟蹤分支是什么,所以后面是跟兩個參數(shù),也就是本地分支名線上分支名。
所以要想用set-upstream-to代替set-upstream,你需要首先切換到想要設(shè)置跟蹤分支的本地分支,然后再通過set-upstream-to設(shè)置想要跟蹤的線上分支:

git checokut dev
git branch --set-upstream-to origin/dev
不二心 回答
import inspect
class IntTuple(tuple):
    def __new__(cls, iterable):
        g = (x for x in iterable if isinstance(x,int) and x > 0)
        return super(IntTuple, cls).__new__(cls, g)
    def __init__(self, iterable):
        print(inspect.getargspec(super(IntTuple, self).__init__))    # 打印父類的__init__ 
        # ArgSpec(args=['self'], varargs='args', keywords='kwargs', defaults=None)
        print(iterable)

t = IntTuple([1,-1,'abc',6,['x','y'],3])
print(inspect.getargspec(t.__init__))    # 打印你自己定義的__init__
# ArgSpec(args=['self', 'iterable'], varargs=None, keywords=None, defaults=None)

你會發(fā)現(xiàn)tuple父類的__init__根本沒有參數(shù)傳遞,從報的錯誤可以看出,tuple沒有實現(xiàn)__init__魔術(shù)方法,而是直接繼承的object。從傳遞的參數(shù)也可以看出來,iterable還是那個沒處理的,而不是從__new__里傳遞過來的g

若相惜 回答

首先給出我認(rèn)為的正確寫法吧(我copy了Predicat類,然后改名為PredicateExt進(jìn)行重寫)

default PredicateExt<T> negate() {
        PredicateExt<T> predicate = this;
        PredicateExt<T> otherPredicate = new PredicateExt<T>() {
            @Override
            public boolean test(T t) {
                return !predicate.test(t);
            }
        };
        return otherPredicate;
    }

再來看看Java8中Predicate.negate到底表達(dá)的是什么意思

  1. Predicate肯定是一個類,(t) -> !test(t)這種lamdba語法也只是表示Predicate的一個對象而已
  2. default方法就是代表了Predicate對象的某個實例方法

因此結(jié)合以上兩點,可以直接看出Predicate.negate代表Predicate的某個對象A執(zhí)行時,根據(jù)A的執(zhí)行結(jié)果再次創(chuàng)建了一個新Predicate的對象B
所以,要換種方式來表示Predicate.negate方法,肯定也要體現(xiàn)出A,B兩個新舊對象,并且該方法的執(zhí)行結(jié)果是根據(jù)A的執(zhí)行結(jié)果體現(xiàn)出來的

再來說說題主為什么會死循環(huán),雖然題主已經(jīng)明顯new了一個Predicate對象,這里體現(xiàn)了A,B兩個新舊對象,但是后面的執(zhí)行結(jié)果并沒有體現(xiàn)出是根據(jù)A的執(zhí)行結(jié)果來產(chǎn)生B的
主要在于里面的在重寫B(tài)的test方法時,是再調(diào)用test方法的,只是前面加了一個!,所以顯然這里調(diào)用的是B的Predicatetest方法,當(dāng)然就是循環(huán)調(diào)用了,可別指望它能調(diào)用A的Predicate方法,因為你正在重寫這個新Predicate的方法,這里的this指針,肯定是指向B的

鑒于此,既然在B里面重寫方法時this指針是指向B的,那就在外面顯示的把A的對象指示出來,然后再B中重寫時,顯示用的A的方法進(jìn)行執(zhí)行,這樣就可以了,所以才有上面的寫法

從運行的debug來看,以前的方式和現(xiàn)在重寫的方式,在新的B對象中,都包含了以前的舊對象A的,所以是可行的

clipboard.png

糖豆豆 回答

PHP的核心維護(hù)者花了很多的心血卻提高底層的解釋器效率,為什么Python的維護(hù)者不去呢?

可能是因為 php 以前太慢了唄。

墻頭草 回答

看你的邏輯是通的,我也試了代碼可以跑。我猜測是數(shù)據(jù)庫的問題,你的數(shù)據(jù)庫外鍵關(guān)聯(lián)沒做on_delete=True,可能導(dǎo)致保存一個模型對象的時候,外鍵關(guān)聯(lián)的需要值卻沒有,其它的看不出什么來了,只能幫你到這了。 話說這是公司代碼?還是自己寫了學(xué)習(xí)的。

純妹 回答

因為用戶輸入的內(nèi)容,不確定性太大,現(xiàn)在都建議使用選擇的方式輸入到行政區(qū),最后一小段地址才是用戶輸入的.
從模糊數(shù)據(jù)里找出詳細(xì)地址是很復(fù)雜的,比如我不輸入省份城市,只輸入行政區(qū)你怎么搞?當(dāng)然還是有辦法,因為有人實現(xiàn)了,比如高德地圖.
但是這么做成本太高了,遠(yuǎn)遠(yuǎn)大于讓用戶選擇輸入的成本.

clipboard.png
比較偏門的方法.
高德地圖的地址編碼可以模糊搜索,返回格式化的地址.
http://lbs.amap.com/api/webse...

爆扎 回答

mongo 的 cursor.count() 方法在默認(rèn)情況下, 會忽略 cursor.skip()cursor.limit() 的效果, 而直接返回 find() 方法的匹配結(jié)果. 如果需要其考慮 limit, 則需要指定 applySkipLimit 參數(shù)為 true.
在 pymongo 中, 這個參數(shù)對應(yīng)方法中的 with_limit_and_skip 參數(shù). 懶得翻文檔了, 以下是直接從 pymongo - cursor.py 源碼中摘出來的函數(shù)定義:

def count(self, with_limit_and_skip=False):

具體到你的問題, 這么寫就可以了:

recode1 = table_out.find({}).sort([("_id",1)]).limit(10000)
print('總數(shù):', recode1.count(with_limit_and_skip=True))

參考: mongo 官方文檔: cursor.count() :

applySkipLimit: boolean
Optional. Specifies whether to consider the effects of the cursor.skip() and cursor.limit() methods in the count. By default, the count() method ignores the effects of the cursor.skip() and cursor.limit(). Set applySkipLimit to true to consider the effect of these methods.
冷咖啡 回答
喜聞樂見

windows linux UTF-8,這三個詞連在一起就是喜聞樂見的BOM問題。

是什么+為什么:

https://www.zhihu.com/questio...

怎么辦:

windows下別用記事本,用vscode或者notepad++或者啥都行,別用記事本就行。

脾氣硬 回答

'59,508.35' 把逗號去掉
先確定好int(x)中x是什么再說

大濕胸 回答
# -*- coding: utf-8 -*-

import json

msg = b'{"action":"auth","msg":"eval(\\"\\\\x4d\\\\x61\\\\x74\\\\x68\\\\x2e\\\\x63\\\\x6f\\\\x73\\\\x28\\\\x31\\\\x35\\\\x31\\\\x35\\\\x37\\\\x37\\\\x38\\\\x31\\\\x34\\\\x30\\\\x29\\")"}'
msg = json.loads(msg)['msg']

#復(fù)雜點的
import re
print ''.join(chr(int(s, 16)) for s in re.findall(r'\\x(.{2})', msg))

#簡單點的
print eval(msg.replace('eval', ''))
首頁 上一頁 1 2 3 4 5 6 7 8 下一頁 尾頁