問(wèn)題已經(jīng)解決了。
自己的理解是能夠打印出所有的結(jié)果是因?yàn)槊看窝h(huán)都打印了一次,但是在每次運(yùn)行的時(shí)候,self._result = result 只能接收一次的結(jié)果,所以最后存儲(chǔ)到的只有最后一個(gè)的掃描結(jié)果。
解決的方法是:
創(chuàng)建list results,利用append方法每次存一個(gè)結(jié)果。
最后再利用類(lèi)的get_result方法,再循環(huán)存儲(chǔ)到list mailcontent中。
但還有一點(diǎn)奇怪的是不知道為什么用.join()方法無(wú)法存儲(chǔ)所有的結(jié)果。。只好再用了append。
但用了append之后list不能解碼為html,于是轉(zhuǎn)化為str之后再傳輸?shù)桨l(fā)送郵件的模塊里發(fā)送。
是 DNS反向解析的事 已經(jīng)解決了
js本來(lái)沒(méi)有new,需要的人多了,也就有了new
首先我們來(lái)看一個(gè)函數(shù)
function Person(n, a, g) {
var obj = {
name: n,
age: a,
gender: g
}
obj.constructor = Person; // 給個(gè)標(biāo)記表示這個(gè)obj由Person生成
// 其他的屬性 obj.blabla....
obj.speak = function () {
console.log(this);
}
return obj;
}
var o = Person(n, a, g)
這個(gè)應(yīng)該挺好懂吧,新建一個(gè)對(duì)象然后返回,這個(gè)函數(shù)我們叫工廠函數(shù),就是每次都生成同一種對(duì)象然后返回。
后來(lái)人們想著,我每次這樣寫(xiě)其實(shí)挺費(fèi)勁的,有沒(méi)有更好的辦法呢。
然后就有了
function Person(n, a, g) {
this.name = n;
this.age = a;
this.gender = g;
this.speak = function () {
console.log(this);
};
}
var o = new Person(n, a, g)
這個(gè)函數(shù)我們就叫構(gòu)造函數(shù),當(dāng)我們使用new Person()時(shí)它執(zhí)行的過(guò)程就跟上面的工廠函數(shù)基本是一樣的,不過(guò)這個(gè)函數(shù)自動(dòng)幫我們處理了很多事,方便很多。具體可以看new運(yùn)算符
那么不用new的時(shí)候呢?它就是一個(gè)普通函數(shù)。
那么我們回到上面的問(wèn)題,Object和這個(gè)有什么區(qū)別
上面說(shuō)了new的時(shí)候會(huì)先新建一個(gè)對(duì)象,然后我們的構(gòu)造函數(shù)會(huì)給新建的對(duì)象打上標(biāo)記constructor,用來(lái)表示這個(gè)對(duì)象是由哪個(gè)函數(shù)生成的,所以用new Person()出來(lái)的對(duì)象顯示的是Person,而new Object()出來(lái)的對(duì)象就是Object,雖然他們一開(kāi)始都是對(duì)象Object
Number(數(shù)字)
int(整型)
float(浮點(diǎn)型)
complex(復(fù)數(shù))
bool(布爾)
String(字符串)
List(列表)
Tuple(元組)
Sets(集合)
Dictionary(字典)
自定義類(lèi)
class Person:
def __init__(self,name):
self.name = name
def __repr__(self):
return self.name
lst0 = [1,Person("小明"), 5]
lst1 = lst0.copy()
print(lst0 ==lst1,lst1,lst0,id(lst1),id(lst0))
lst0[1].name="小云"
print(lst0 ==lst1,lst1,lst0,id(lst1),id(lst0))
結(jié)果:
True [1, 小明, 5] [1, 小明, 5] 66244280 66311632
True [1, 小云, 5] [1, 小云, 5] 66244280 66311632
和你的一樣,修改引用類(lèi)型會(huì)修改所有指向這個(gè)地址的對(duì)象.
python3, 直接改成list1_name.append(elements[0])就可以了:
ftele1=open('a.txt', 'r', encoding='utf-8')
ftele2=open('b.txt', 'r', encoding='utf-8')
ftele1.readline() #跳過(guò)第一行
ftele2.readline()
lines1 = ftele1.readlines()
lines2 = ftele2.readlines()
list1_name = []
list1_tele = []
list2_name = []
list2_email = []
for line in lines1: #獲取第一個(gè)文本中的姓名和電話信息
elements = line.split()
print(elements[0])
list1_name.append(elements[0])
list1_tele.append(elements[1])
for line in lines2: #獲取第二個(gè)文本中的姓名和郵箱信息
elements = line.split()
list2_name.append(elements[0])
list2_email.append(elements[1])
#開(kāi)始處理
lines = []
lines.append('姓名\t 電話\t 郵箱\n')
#按索引方式遍歷姓名列表1
for i in range(len(list1_name)):
s=''
if list1_name[i] in list2_name:
j = list2_name.index(list1_name[i]) #找到姓名列表1對(duì)應(yīng)列表2中國(guó)年的姓名索引位置
s = '\t'.join([list1_name[i], list1_tele[i], list2_email[j]])
s += '\n'
else:
s = '\t'.join([list1_name[i], list1_tele[i], str(' ----- ')])
s += '\n'
lines.append(s)
#處理姓名列表2中剩余的姓名
for i in range(len(list2_name)):
s=''
if list2_name[i] not in list1_name:
s = '\t'.join([list2_name[i], str(' ----- '), list2_email[i]])
s += '\n'
lines.append(s)
ftele3 = open('AddrBook.txt', 'w')
ftele3.writelines(lines)
ftele3.close()
ftele1.close()
ftele2.close()
print('The AddressBooks are merged!')
python2 類(lèi)似,但是頭上加個(gè)# encoding=utf-8:
# encoding=utf-8
ftele1=open('a.txt', 'rb')
ftele2=open('b.txt', 'rb')
ftele1.readline()
ftele2.readline()
lines1 = ftele1.readlines()
lines2 = ftele2.readlines()
list1_name = []
list1_tele = []
list2_name = []
list2_email = []
for line in lines1:
elements = line.split()
print(elements[0])
list1_name.append(elements[0])
list1_tele.append(elements[1])
for line in lines2:
elements = line.split()
#print(elements)
list2_name.append(elements[0])
list2_email.append(elements[1])
lines = []
lines.append('姓名\t 電話\t 郵箱\n')
for i in range(len(list1_name)):
s=''
if list1_name[i] in list2_name:
j = list2_name.index(list1_name[i])
s = '\t'.join([list1_name[i], list1_tele[i], list2_email[j]])
s += '\n'
else:
s = '\t'.join([list1_name[i], list1_tele[i], str(' ----- ')])
s += '\n'
lines.append(s)
for i in range(len(list2_name)):
s=''
if list2_name[i] not in list1_name:
s = '\t'.join([list2_name[i], str(' ----- '), list2_email[i]])
s += '\n'
lines.append(s)
ftele3 = open('AddrBook.txt', 'w')
ftele3.writelines(lines)
ftele3.close()
ftele1.close()
ftele2.close()
print('The AddressBooks are merged!')大致是他們自己編寫(xiě)檢索條件然后去運(yùn)行腳本得出結(jié)果
部署一套現(xiàn)成的查詢引擎,比如 Elasticsearch https://www.elastic.co/produc...
自己解決了.
fields.page和fields.pageSize獲取的是字符串
所以轉(zhuǎn)換一下就ok
fields.pageSize = parseInt(fields.pageSize);
fields.page= parseInt(fields.page);var = "field_name"
field_list = {var:conditions}
# field_list {"field_name":conditions}
models.objects.get(**field_list)
# models.objects.get(**field_list) = models.objects.get(key=conditions)
**kwargs會(huì)將字典中的kv鍵值對(duì)按照k=v的格式作為函數(shù)的參數(shù).字典的key是可以通過(guò)變量設(shè)置的,當(dāng)然必須是字符串.
你看下manage.py運(yùn)行配置中python 解釋器是哪個(gè)?
代碼提示和你項(xiàng)目默認(rèn)解釋器有關(guān),但能不能運(yùn)行是看你執(zhí)行文件的解釋器。
try:這里的冒號(hào)是全角
推薦 pandas 庫(kù),比 xlrd 或 xlwt 方便多了,而且可以相同接口操作不同數(shù)據(jù)源。
以下是 ipython 示例
In [1]: import pandas as pd
In [2]: df = pd.read_csv('a.csv', encoding='utf-8')
In [3]: df
Out[3]:
城市 點(diǎn)
0 廣州 10
1 廣州 11
2 廣州 12
3 深圳 20
4 深圳 21
5 深圳 22
In [4]: df[df[u'城市'].eq(u'廣州')].to_excel('廣州.xls', encoding='utf-8', index=False)
In [5]: df_gz = pd.read_excel('廣州.xls', encoding='utf-8')
In [6]: df_gz
Out[6]:
城市 點(diǎn)
0 廣州 10
1 廣州 11
2 廣州 12你直接定義成類(lèi)不行嗎?
class get_user_agent()
然后這樣調(diào)
from xxx import get_user_agent
get_user_agent.user_agent
get_user_agent.juzi_headers
find_element_by_xpath("http://div[@id='policyGrid-body']//a[contains(text(),'kanagawa-L100-6')])
//a選擇屬于 policyGrid-body 元素的后代的所有 a 元素,而不管它們位于 policyGrid-body 之下的什么位置。
ImportError: cannot import name 'views'
我覺(jué)得你應(yīng)該上傳一下你的目錄結(jié)構(gòu)。
not null的字段在插入數(shù)據(jù)的時(shí)候必須提供值。
import requests
r = requests.get(url1) # 你第一次的url
headers = {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding':'gzip, deflate, sdch',
'Accept-Language':'zh-CN,zh;q=0.8',
'Connection':'keep-alive',
'Cache-Control':'no-cache',
'Content-Length':'6',
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'Host':'www.mm131.com',
'Pragma':'no-cache',
'Origin':'http://www.mm131.com/xinggan/',
'Upgrade-Insecure-Requests':'1',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
'X-Requested-With':'XMLHttpRequest'
} # headers的例子,看你的post的headers
headers['cookie'] = ';'.join([headers['cookie'], ['='.join(i) for i in r.cookies.items()]])
r = requests.post(url2, headers=headers, data=data) # 你第二次的url對(duì)于大部分Python對(duì)象來(lái)說(shuō),直接del就可以了
a = pd.Dataframe()
del a北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dò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ù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。