請問Python中的hash函數(shù)背后的__hash__和散列函數(shù)是一回事嗎?
不是。
那么可散列的對象是怎么定義的?
定義一個“類”的 __hash__ 方法。
要building python 需要 SVN
先把腳本設(shè)置可執(zhí)行權(quán)限,
chmod +x bash.sh
然后扔到 etc/rc0.d 中
cp bash.sh /etc/rc0.d/
rc0.d 存放的是關(guān)機(jī)前執(zhí)行的腳本rc6.d 存放的是重啟前執(zhí)行的腳本
Python2里打印列表中文亂碼,我一般用json解決
>>> names = ["奧特曼", "孫悟空"]
>>> print names
['\xe5\xa5\xa5\xe7\x89\xb9\xe6\x9b\xbc', '\xe5\xad\x99\xe6\x82\x9f\xe7\xa9\xba']
>>> import json
>>> print json.dumps(names, ensure_ascii=False)
["奧特曼", "孫悟空"]encode('utf-8') 試試呢? 有些接口的參數(shù)不能是unicode,如果你不指定編碼,就會以系統(tǒng)默認(rèn)編碼(多數(shù)是ascii)去編碼。所以中文就會報錯的
突然不給返回數(shù)據(jù)了,只能把正則匹配出來的東西寫成變量了
import requests
import re
import json
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36"
}
url = "http://s8-static.jjwxc.net/getnovelclick.php?novelid=3601&jsonpcall\
back=novelclick"
web_data = requests.get(url, headers=headers)
web_data.encoding = "gzip"
result = web_data.content.decode()
string = re.findall(r'({.*?})', result)[0]
# string = '{"1":"82686","2":"73363","3":"52320","4":"49171","5":"46838","6":"\
# 43687","7":"36339","8":"36067","9":"35917","10":"35570","11":"32912","12":"34\
# 357","13":"33653","14":"31370","15":"33803","16":"32647","17":"30681","18":"32\
# 163","19":"29455","20":"31213","21":"30199","22":"28536","23":"30041","24":"\
# 28862","25":"29439","26":"29469","27":"29378","28":"29678","29":"31427","\
# 30":"53411"}'
tmp_dict = json.loads(string)
for k, v in tmp_dict.items():
print(k, v)
# 1 82686
# 2 73363
# 3 52320
# 4 49171
# 5 46838
# 6 43687
# 7 36339
你應(yīng)該用逗號分隔收件地址
[mailreceivers]
who=a1@example.com, a2@example.com
然后在讀取后轉(zhuǎn)換成字符串?dāng)?shù)組
raw_value = config.get('mailreceivers', 'who')
msg_to = [i.strip() for i in raw_value.split(',')]'accept-encoding': 'deflate, br',
你把這個去掉,就返回正常了;你現(xiàn)在這個是返回的是壓縮了的,除非你讀取響應(yīng)頭,看看服務(wù)端到底使用何種壓縮算法,進(jìn)行解壓。
只顯示 py2.7 是因?yàn)樾枰袚Q環(huán)境,你應(yīng)該是重復(fù)裝了兩個,所以只顯示了一個,我對于 windows 下的不熟悉,如果你是實(shí)在需要 python3 的環(huán)境,卸載 2.7,重新裝一遍 py3...
如果需要多個 python 環(huán)境,建議使用管理環(huán)境的工具: anaconda,anaconda 默認(rèn)幫你裝了很多庫,其中也能為你創(chuàng)建多個虛擬環(huán)境,方便切換。
安裝完后, 創(chuàng)建環(huán)境:
$ conda create --name <你的環(huán)境名字> python=<你需要的 python 環(huán)境名稱>
例子:
$ conda create --name py35 python=3.5
顯示你的 python 環(huán)境:
$ conda info --envs
切換環(huán)境:
$ source activate 環(huán)境名字 (如果成功切換,命令行會顯示)
需要使用那個環(huán)境就先 source activate <虛擬環(huán)境名字>,這時 pip install 等相關(guān)操作都只是針對此時選中的環(huán)境, 你也可以在 anaconda 的文件夾找到 envs,里面就是每個 python 環(huán)境的名字。最后建議樓主即使不采納也去看看 python 環(huán)境管理,最好每個工程一個環(huán)境,保證每個工程環(huán)境的獨(dú)立和干凈,這樣對于項(xiàng)目的移植來說是很重要的
web方向django 就是后臺你想做什么?
web方向大部分都是前端和美化工作.. django就那點(diǎn)東西.. 琢磨完了就去看算法..
要不嘗試自己用 wsgi 實(shí)現(xiàn)一個框架? 這個比較有挑戰(zhàn)性
首先來分析下你上面的需求需要幾個celery服務(wù)
主線程是必須的,所以需要線程main,
因?yàn)間roup2是在group1后執(zhí)行的,所以group1和group2應(yīng)該是同步方法,執(zhí)行在同一線程;又因?yàn)樗麄冃枰獙χ骶€程異步,所以他們應(yīng)該是執(zhí)行在一個celery中的。
所以最終的結(jié)構(gòu)應(yīng)該大致如下:
大致實(shí)現(xiàn):
@app.task()
def group1():
return group([add.s(2, 2), add.s(4, 4),])
@app.task()
def group2():
return group([add.s(2, 2), add.s(4, 4),])
@app.task()
def celery3():
result = group1.delay()
# sync group1
result.collect()
group2.delay()
# main thread
celery3.delay()powershell:
$ws = New-Object -ComObject WScript.Shell
$ws.Popup('內(nèi)容', 3, '標(biāo)題')執(zhí)行了數(shù)據(jù)刪除空閑的磁盤會添加到空閑列表,并不會向操作系統(tǒng)返回磁盤空間
解決辦法:運(yùn)行VACUUM命令來清空空閑列表
不需要,中間件已經(jīng)幫你做好了 ,你可以在設(shè)置完session值之后,print request.session['key'] 一下看看具體的數(shù)據(jù)流對不對
不知道你所說的 "selenium 被檢測到" 是什么情況,不過 selenium 提供了拖放功能
element = driver.find_element_by_name("source")
target = driver.find_element_by_name("target")
from selenium.webdriver import ActionChains
action_chains = ActionChains(driver)
action_chains.drag_and_drop(element, target).perform()
參考 https://selenium-python.readt...
據(jù)我所知,目前(2018年8月10日)還沒有 javascript 能實(shí)現(xiàn)真正可用的拖放效果。
不過你可以參考下面的文檔,生成拖放事件,然后在指定元素上觸發(fā)試試
https://developer.mozilla.org...
var event = new DragEvent(type, DragEventInit);
// Listen for the event.
elem.addEventListener('build', function (e) { /* ... */ }, false);
// Dispatch the event.
elem.dispatchEvent(event);
題外話:這類問題的難點(diǎn)通常不在拖放的起點(diǎn)或終點(diǎn),你可能需要更精確的手段去控制整個拖放過程,比如在瀏覽器外生成鼠標(biāo)事件。
你爬這個網(wǎng)站怎么實(shí)現(xiàn)翻頁的繼續(xù)爬的?
你既然已經(jīng)能ssh過去執(zhí)行了...是不是可以只解壓一個文件然后拖回來
https://docs.python.org/2/lib...
不是一次讀取完??雌饋硎鞘茄h(huán)一次讀取一行(實(shí)際上會有緩沖區(qū)的相關(guān)實(shí)現(xiàn))。
你ua在字典中只調(diào)用了一次。
這樣就行了
for url in range(5):
header["User-Agent"] = ua()
print headersubprocess 這個應(yīng)該是可以的
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。