python3 出错求大神帮助list index out of range 10C

代码部分
c_d = dict(zip(candidate,dist))
cd_sorted = sorted(c_d.items(), key=lambda d:d[1])
print ("\n The person is: " ,cd_sorted[0][0])
dlib.hit_enter_to_continue()

运行出错显示:

Traceback (most recent call last):
File "girl-face-rec.py", line 66, in
print ("\n The person is: " ,cd_sorted[1][5])
IndexError: list index out of range

帮忙看看问题出在哪里?

12个回答

cd_sorted访问越界,要么是1大于其实际长度, 要么是5大于其实际长度

c_d = dict(zip(candidate,dist))
cd_sorted = sorted(c_d.items(), key=lambda d:d[1])

报错是因为索引超出范围导致, 所以你需要确认你的双份列表是否长度都大于5. 因为zip会取最小的列表长度

共12条数据 首页 2
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
IndexError: list index out of range
#coding:utf-8 -*- #! /user/bin/env/python # python vectorsum.py 1000 import sys import numpy as np from datetime import datetime """input format�� python vectorsum.py n n: the expected size for the vector""" def pythonSum(n): a = range(n) b = range(n) c = [] for i in range(n): a[i] = i ** 2 b[i] = i ** 3 c.append(a[i]+b[i]) return c def numpysum(n): a = np.arange(n) ** 2 b = np.arange(n) ** 3 c = a + b return c size = int(sys.argv[1]) start = datetime.now() c = pythonSum(size) delta = datetime.now() - start print ("The last 2 elements of the sum", c[-2:]) print ("pythonSum elspaed time in microseconds", delta.microseconds) start = datetime.now() c = numpysum(size) delta = datetime.now() - start print ("The last 2 elements of the sum", c[-2:]) print ("numpysum elspaed time in microseconds", delta.microseconds) 运行结果:Traceback (most recent call last): File "D:\workspace\PythonLearn1\src\NumpyLearn\__init__.py", line 26, in <module> size = int(sys.argv[1]) IndexError: list index out of range 我用的是Eclipse下的 python,请问这个越界了,应该在哪里输入 python vectorsum.py n,各位大神,帮忙解决一下吧
python 中出现 list index out of range错误
![图片说明](https://img-ask.csdn.net/upload/201506/03/1433321842_786610.png)目的是实现当falsh中有相同元素时,arrow中相对应的元素相加,同样core中相对应的元素相加。![图片说明](https://img-ask.csdn.net/upload/201506/03/1433322077_791804.png)这是我的程序,但是出现错误:![图片说明](https://img-ask.csdn.net/upload/201506/03/1433322143_492805.png) 不知到怎么解决,新手谢各位大神
在测试模型时,仅仅添加了这一句就显示:tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [184,7,7,256] vs. [9,7,7,256] [[{{node roi_align_classifier/Add_1}}]]
在测试模型时,仅仅添加了这一句就显示:tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [184,7,7,256] vs. [9,7,7,256] [[{{node roi_align_classifier/Add_1}}]] 添加的内容: for i in range(4): if i != 0: feature_maps[i] = tf.add(feature_maps[i], feature_maps[i-1]) feature_maps是个list,有4个feature_map。feature_map格式如下: [batch, height, width, channels]。急需大神帮忙解决
Python新手的一个序列小问题 求大神指导
具体代码如下: # # -*- coding: UTF-8 -*- #根据给定的年月日打印出响应的日期 mouths = [ "January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December" ] endings = ["st","nd","rd"]+17*["th"] \ +["st","nd","rd"]+7*["th"]\ +["st"] year = raw_input("Year: ") mouth = raw_input("Mouth(1-12): ") day = raw_input("Day(1-31): ") mouth_number = int(mouth) day_number = int(day) mouth_name = mouths[mouth_number-1] ordinal = day + endings[day_number-1] print mouth_name+' '+ordinal+','+year 个人感觉代码应该没问题,但是在运行这个程序的时候 ============= RESTART: C:/Python27/My Python Programs/suoyin.py ============= Year: 1997 Mouth(1-12): 3 Day(1-31): 5 Traceback (most recent call last): File "C:/Python27/My Python Programs/suoyin.py", line 34, in <module> mouth_name = mouths[mouth_number-1] IndexError: list index out of range 一直有这个问题,求大神指导。
用BS爬取网页内容之后提取标签属性,显示AttributeError: 'NoneType' object has no attribute 'text'。用print可以成功提取出文本内容,放在循环里就出错。
用BS爬取网页内容之后标签属性一直出错,显示AttributeError: 'NoneType' object has no attribute 'text' 我用print在循环之前试过是可以成功提取出文本内容的,不知道为什么在循环里就不行。求大神解惑! ``` #s = content[0].find('h5',class_="result-sub-header") #print(s.text.strip()) #遍历content,取出结果 #因为find_all返回的是一个list,再对list用find_all时,需要指定元素[0] for i in range(len(content)): #提取标题 t = content[i].find('a',class_="title") title = t.text.strip() #提取链接 url = 'https://www.forrester.com'+t['href'] #提取摘要 s = content[i].find('h5',class_="result-sub-header") summary = s.text.strip() #将提取的内容放在列表paper中 paper = [title,'Cloud Migration',url,summary] #把每个paper加到paperlist paperlist.append(paper) ```
通过python脚本实现相应文件操作,求大神帮忙
#!/usr/bin/python # -*- coding: UTF-8 -*- ## #功能要求 #1.通过表头检索把表头字符串在需求字符串内的csv移动到指定文件夹内 #2.把移动出来到csv合并,表头只用第一csv的(该处表头有数行) #3.我的代码。。完全不行啊 import pandas as pd import os import csv import shutil import glob def search_file(path): headers = ['Test9','Test4','Development13','Development3'] queue = [] queue.append(path); while len(queue) > 0: tmp = queue.pop(0) if (os.path.isdir(tmp)):#if it is folder for item in os.listdir(tmp): queue.append(os.path.join(tmp, item))#add the path into queue elif (os.path.isfile(tmp)):#if it is file csv_reader = csv.reader(open(tmp)) for row in csv_reader: header = row if header in headers: shutil.move('/Users/Downloads/Test')#move file search_file('/Users/Downloads')#if can work #file setting cwd = os.getcwd() read_path = 'Test' save_path = cwd save_name = 'Test1.csv' os.chdir(read_path) #Add the file into list csv_name_list = os.listdir() #get first file df = pd.read_csv( csv_name_list[0]) df.to_csv( cwd + '\\' + save_path + '\\' + save_name , encoding="utf_8",index=False) #Done n = glob.glob(pathname='*.csv') for i in range(n): df = pd.read_csv( csv_name_list[i] ) df.to_csv(cwd + '\\' + save_path + '\\' + save_name ,encoding="utf_8",index=False, header=False, mode='a+')
Python爬虫结果为空TT
新手修改了网上代码,想要爬百度新闻的标题和简介,不知道为什么运行结果是空。在mac自带的python2上运行: ``` from urllib import urlopen import csv import re from bs4 import BeautifulSoup import sys reload(sys) sys.setdefaultencoding("utf-8") for k in range(1,36): url = "http://news.baidu.com/ns?word=低保&pn=%s&cl=2&ct=1&tn=news&rn=20&ie=utf-8&bt=0&et=0"% ((k-1)*20) csvfile = file("Dibao.csv", "ab+") writer = csv.writer(csvfile) content = urlopen(url).read() soup = BeautifulSoup(content,"lxml") list0 = [] list1 = [] list2 = [] list3 = [] for i in range(1,20): hotNews = soup.find_all("div", {"class", "result"})[i] a1=hotNews.find(name="a", attrs={"target": re.compile("_blank")}) list0.append(a1.text) a2=hotNews.find(name="p", attrs={"class": re.compile("c-author")}) t1=a2.text.split()[0] list1.append(t1) t2 = a2.text.split()[1] list2.append(t2) if t2.find(u"年") == 4: t3 = a2.text.split()[2] list3.append(t3) else: list3.append(" ") #将数据写入csv data = [] for i in range(0,20): data.append((list0[i], list1[i], list2[i],list3[i])) writer.writerows(data) csvfile.close() print "第" + str(k) + "页完成" ``` 报错: Traceback (most recent call last): File "<stdin>", line 12, in <module> IndexError: list index out of range 不懂参数过范围什么意思,新闻一共37页,每页20条。 希望有大神能帮忙看一下,多谢啦~
Solution() takes no arguments何解?
站内站外找到的解答都是关于__init__()写错了的问题。可是我没用__init__()啊。求大神指教我错在哪里了??? 这是leetcode上的45题,看的别人的答案,在leetcode上能运行出来,自己在jupyter book上就运行不出来了(加了最后2句)。 ```python from typing import List class Solution: def jump(self, nums: List[int]) -> int: counter = 0 # 移动次数 curr_end = 0 # 当前跳跃的终点 curr_farthest = 0 # 最远位置的下标 for i in range(len(nums) - 1): curr_farthest = max(curr_farthest, i + nums[i]) if i == curr_end: counter += 1 curr_end = curr_farthest return counter a = Solution([2,3,1,1,4]) print(a.jump()) ``` 报错信息如下 TypeError Traceback (most recent call last) <ipython-input-7-6e1137fe93e9> in <module> 13 return counter 14 ---> 15 a = Solution([2,3,1,1,4]) 16 print(a.jump()) TypeError: Solution() takes no arguments
TypeError: 'unicode' object is not callable 错误 python2.7
刚学python 写的def的线程都不可用,于是模仿别人单线程直接插多线程,就出现以下错误,写的爬虫,线程是出来了,但是就是不能调用unicode,求大神解答 ``` # -*- coding: utf-8 -* import sys reload(sys) sys.setdefaultencoding('utf8') import requests import re import time import threading import sys import Queue as queue import sys import datetime live = open('未爬.txt','w') die = open('已爬.txt','w') input_queue = queue.Queue() list = raw__input("--> Enter Lists : ") thread = input(" -> Thread : ") link = “************” head = {'User-agent':'Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30'} s = requests.session() g = s.get(link, headers=head) list = open(list, 'r')_ print('') print("-"*50) print("-"*50) while True: 网页导入 = list.readline().replace('\n','') if not www: continue bacot = email.strip().split(':') xxx = {''************''} cek = s.post(link, headers=head, data=xxx).text if "************" in cek: print("|未爬|----->"+网页+"") live.write(网页+"\n") else: print("|已爬 | -----> "+网页+" ") die.write(网页+"\n") for x in range(int(thread)): t = threading.Thread(target=cek) t.setDaemon(True) t.start() print('') print('-------------------------------------------------') print('')_ ```
Python爬虫 急求大神帮忙 万分感谢
我用Python爬虫 爬取网页 爬出来获取特定数据 为什么大部分显示null 而且每次执行一次 数据就会增加一些 到底是代码问题还是网页问题 求大神指点代码下: def get_content(self, html): #获取一个网页的内容 div_list = html.xpath("//div[contains(@class,'listtyle')]") item_list = [] for div in div_list: for b in range(1,19): food_img= div.xpath("./div[@class='listtyle1'][b]/a[@class='big']/img[@class='img']/@src") food_img=food_img[0] if len(food_img)>0 else None food_name = div.xpath("./div[@class='listtyle1'][b]/a[@class='big']/div[@class='i_w']/div[@class='i']/div[@class='c1']/strong/text()") food_name = food_name[0] if len(food_name)>0 else None food_effect=div.xpath("./div[@class='listtyle1'][b]/a[@class='big']/strong[@class='gx']/span/text()") food_effect = food_effect[0] if len(food_effect)>0 else None food_time=div.xpath("./div[@class='listtyle1'][b]/a[@class='big']/div[@class='i_w']/div[@class='i']/div[@class='c2']/ul/li[@class='li1']/text()") food_time = food_time[0] if len(food_time)>0 else None food_taste=div.xpath("./div[@class='listtyle1'][b]/a[@class='big']/div[@class='i_w']/div[@class='i']/div[@class='c2']/ul/li[@class='li2']/text()") food_taste = food_taste[0] if len(food_taste)>0 else None food_commentnum_likenum=div.xpath("./div[@class='listtyle1'][b]/a[@class='big']/div[@class='i_w']/div[@class='i']/div[@class='c1']/span/text()") food_commentnum_likenum = food_commentnum_likenum[0] if len(food_commentnum_likenum)>0 else None item=dict( food_img1=food_img, food_name1=food_name, food_effect1=food_effect, food_time1=food_time, food_taste1=food_taste, food_commentnum_likenum1=food_commentnum_likenum, ) item_list.append(item) return item_list
openpyxl写入excel后打开报错“已删除的记录: /xl/comments/comment1.xml 部分的 批注 (批注)”?
CompareExcel.py代码如下: ``` from openpyxl.styles import Font,Alignment,Side,Border,Color,colors,PatternFill from MMSpackagefile.codefile.ExcelData import ExcelData class CompareExcel(object): def __init__(self): pass def settruecelltype(self, sheet, row, col): cell = sheet.cell(row, col) font = Font(size=12, bold=False, name='Arial', color=colors.BLACK) thin = Side(border_style='thin', color='0000FF') border = Border(left=thin, right=thin, top=thin, bottom=thin) cell.font = font cell.border = border def setfalsecelltype(self, sheet, row, col): cell = sheet.cell(row, col) font = Font(size=12, bold=False, name='Arial', color=colors.RED) fill = PatternFill(start_color=colors.YELLOW, end_color=colors.YELLOW, fill_type='solid') thin = Side(border_style='thin', color='0000FF') border = Border(left=thin, right=thin, top=thin, bottom=thin) cell.fill = fill cell.font = font cell.border = border #expectlist,actlist 分别为预期返回list和实际返回list; #data 为案例sheet页中过滤的案例数据; #fullfield 为所有字段项去重(无论是否都需要比较,即是结果明细sheet页中标题字段)fulladdfield所有添加字段项去重 #categoryfield为从案例中获得的比较字段类; #sheetfield为配置文件excel里,比较字段sheet页里获取的list,其中list1为所有的子字段列表,list2为添加的字段列表,list3为两个dict,key分别为IsCompare和IsAdd def comp(self, expectlist, actlist, data, full, fulladdfield, categoryfield, sheetfield, sheet_result): comparefield = [] #为根据案例中的需比较字段类获得的需比较字段项 addfield = [] #为根据案例中的需比较字段类获得的需比较添加字段项 rownum = sheet_result.max_row fullli = ExcelData().sort_list(full) fullfield = fullli[:-1] if len(fulladdfield) != 0: fullfield = [e for e in fullfield if e not in fulladdfield] for j in categoryfield: for m in sheetfield: if m.get('checkfield') == 'IsCompare': comparefield.extend(list(m.get(j).split(','))) else: if not m.get(j) != m.get(j): addfield.extend(list(m.get(j).split(','))) if len(expectlist) == len(actlist) and len(expectlist) != 0: sumlogicvalue = CompareExcel().setresultsheet(expectlist, actlist, fullfield, fulladdfield, comparefield, addfield, data, sheet_result, rownum) if len(expectlist) != 1: sheet_result.merge_cells(start_row=rownum + 1, start_column=1, end_row=rownum + len(expectlist), end_column=1) # return sumlogicvalue elif len(expectlist) == len(actlist) and len(expectlist) == 0: rowvalue = [] rowvalue.append(data.get('case_id')) sumlogicvalue = False for q in range(2, 2*len(fullfield)+len(fulladdfield)+2): rowvalue.append('') rowvalue.append(sumlogicvalue) sheet_result.append(rowvalue) CompareExcel().settruecelltype(sheet_result, rownum+1, 1) for w in range(2, 2*len(fullfield)+len(fulladdfield)+3): CompareExcel().setfalsecelltype(sheet_result, rownum+1, w) # return sumlogicvalue elif len(expectlist) > len(actlist): commonexpectlist = [] commonactlist = [] surplusexpectlist = [] for i in expectlist: sign = 0 for j in actlist: if i['data']['id'] == j['data']['id']: sign = 1 commonexpectlist.append(i) commonactlist.append(j) if sign == 0: surplusexpectlist.append(i) CompareExcel().setresultsheet(commonexpectlist, commonactlist, fullfield, fulladdfield, comparefield, addfield, data, sheet_result, rownum) si = 'ex' CompareExcel().setsurlistvalue(si, surplusexpectlist, fullfield, fulladdfield, sheet_result, rownum, commonexpectlist) sheet_result.merge_cells(start_row=rownum + 1, start_column=1, end_row=rownum + len(expectlist), end_column=1) sumlogicvalue = False # return sumlogicvalue else: commonexpectlist = [] commonactlist = [] surplusexpectlist = [] for i in actlist: sign = 0 for j in expectlist: if i['data']['id'] == j['data']['id']: sign = 1 commonactlist.append(i) commonexpectlist.append(j) if sign == 0: surplusexpectlist.append(i) CompareExcel().setresultsheet(commonexpectlist, commonactlist, fullfield, fulladdfield, comparefield, addfield, data, sheet_result, rownum) si = 'ac' CompareExcel().setsurlistvalue(si, surplusexpectlist, fullfield, fulladdfield, sheet_result, rownum, commonexpectlist) sheet_result.merge_cells(start_row=rownum + 1, start_column=1, end_row=rownum + len(actlist), end_column=1) sumlogicvalue = False return sumlogicvalue def setresultsheet(self, expectlist, actlist, fullfield, fulladdfield, comparefield, addfield, data, sheet_result, rownum): for i in range(len(expectlist)): rowvalue = [] expectreturn = [] actreturn = [] addreturn = [] logicvalue = True columnnum = [] for j in range(len(fullfield)): if fullfield[j] in comparefield: # if fullfield[j] == 'name': # actlist[i]['data'][fullfield[j]] = '浦发银' if fullfield[j] in list(expectlist[i]['data'].keys()): expectreturn.append(expectlist[i]['data'][fullfield[j]]) else: expectreturn.append('') if fullfield[j] in list(actlist[i]['data'].keys()): actreturn.append(actlist[i]['data'][fullfield[j]]) else: actreturn.append('') if expectlist[i].get('data').get(fullfield[j]) != actlist[i].get('data').get(fullfield[j]): logicvalue = False columnnum.append(2+j) columnnum.append(2+j+len(fullfield)) columnnum.append(2*len(fullfield)+len(fulladdfield)+2) else: expectreturn.append('') actreturn.append('') if len(fulladdfield) != 0: logicvalue = False columnnum.append(2 * len(fullfield) + len(fulladdfield) + 2) for m in range(len(fulladdfield)): if fulladdfield[m] in addfield: columnnum.append(2 + 2 * len(fullfield) + m) if fulladdfield[m] in list(actlist[i].get('data').keys()): addreturn.append(actlist[i].get('data').get(fulladdfield[m])) else: addreturn.append('') else: addreturn.append('') if i == 0: rowvalue.append(data.get('case_id')) else: rowvalue.append('') rowvalue.extend(expectreturn) rowvalue.extend(actreturn) if len(addreturn) != 0: if len(addreturn) == 1: rowvalue.append(addreturn) else: rowvalue.extend(addreturn) rowvalue.append(logicvalue) sheet_result.append(rowvalue) for o in range(1, 2*len(fullfield)+len(fulladdfield)+3): if o in columnnum: CompareExcel().setfalsecelltype(sheet_result, rownum + 1 + i, o) else: CompareExcel().settruecelltype(sheet_result, rownum + 1 + i, o) return logicvalue def setsurlistvalue(self, sig, surplusexpectlist, fullfield, fulladdfield, sheet_result, rownum, commonexpectlist): for k in surplusexpectlist: surrowvalue = [''] expectlis = [] actlis = [] for l in fullfield: sign = 0 if l in list(k['data'].keys()): sign = 1 expectlis.append(k['data'][l]) if sign == 0: expectlis.append('') actlis.append('') if sig == 'ex': surrowvalue.extend(expectlis) surrowvalue.extend(actlis) else: surrowvalue.extend(actlis) surrowvalue.extend(expectlis) if len(fulladdfield) != 0: addlis = [] for m in fulladdfield: if m in list(k['data'].keys()): addlis.append(k['data'][m]) addlis.append('') surrowvalue.extend(addlis) surrowvalue.append('False') sheet_result.append(surrowvalue) for t in range(len(surplusexpectlist)): for n in range(2, len(surrowvalue) + 1): CompareExcel().setfalsecelltype(sheet_result, rownum + 1 + len(commonexpectlist) + t, n) ``` test_stock_info.py内容如下: ``` import pytest import os import time import openpyxl as op from MMSpackagefile.codefile.ExcelData import ExcelData from MMSpackagefile.codefile.CompareExcel import CompareExcel path1 = 'E:\\MMS\\myfirstproject\\MMSpackagefile\\configdatasource\\stock_info_option12.xlsx' path2 = 'E:\\MMS\\myfirstproject\\MMSpackagefile\\configdatasource\\mms_cofigfile.xlsx' executecase = ExcelData().getexecutecase(path1, 1, 0) #返回可执行案例的list configcomparefield = ExcelData().getexcelfield(path1, 0, 0) #返回stock_info_option12.xlsx第一个sheet页的比对字段list configcomparefield1 = ExcelData().getexcelfield(path1, 0, 0) dirpath = os.path.abspath('..') version_list = ExcelData().getversion(path2, 0, 1) #返回配置文件的版本信息 localtime = time.strftime('%Y%m%d%H%M%S', time.localtime()) path = dirpath + '\\Result\\' + version_list[0] + '_' + version_list[1] + '_' + localtime os.makedirs(path) excel = op.load_workbook(path2) excel.save(path + '\\mms_cofigfile_' + localtime + '.xlsx') exce = op.load_workbook(path1) comparefield, addfield, sheetfield = ExcelData().getfullfielditem(configcomparefield1) excel, sheet = ExcelData().setresulttitle(comparefield, addfield, exce) @pytest.fixture(scope='module') def stock_info(request): value = {} value['case_id'] = request.param['case_id'] value['title'] = request.param['title'] value['ticker'] = request.param['ticker'] value['exchange'] = request.param['exchange'] value['asset_class'] = request.param['asset_class'] value['IsCompare'] = request.param['IsCompare'] value['IsAdd'] = request.param['IsAdd'] return value @pytest.mark.parametrize('stock_info', executecase, indirect=True) def test_stock_info(stock_info): configdata = ExcelData().getversion(path2, 0, 1) oldreturnlist = ExcelData().getrequestdata(configdata[2], stock_info, 'stock-info') newreturnlist = ExcelData().getrequestdata(configdata[3], stock_info, 'stock-info') categoryfield = stock_info.get('IsCompare').split(',') isbool = CompareExcel().comp(oldreturnlist, newreturnlist, stock_info, comparefield, addfield, categoryfield, configcomparefield, sheet) ExcelData().setcolumnautowidth(sheet) excel.save(path + '\\stock_info_option12_' + localtime + '.xlsx') assert isbool ``` 现在有两个问题,一个是CompareExcel.py里函数setresultsheet最后一行logicvalue高亮显示: 提示:This inspection warns about local variables referenced before assignment.我并未在函数外部使用过这个变量logicvalue为什么会有这种提示? 第二个问题,我用openpyxl写excel文件,打开时候提示 ![图片说明](https://img-ask.csdn.net/upload/201912/17/1576586295_401469.png) 不太清楚这个提示是因为什么原因引起的,,之前也出现过这个问题,后来检查是因为重复保存的原因,改成保存一次就好了,现在又出现这个问题,几天了还没排查到原因,哪位大神看下?
为什么python多线程调用threading重写run出现重复调用错误
【问题描述】 使用threading进行多线程继承,重写run方法,在进行多线程调用时,出现run重入问题,并且呈线程数递增,哪位大神帮忙看下。 【代码】 ``` class CMyThread(threading.Thread): m_print = None m_result = None m_func = None m_args = None m_lock = None def __init__(self, func, *args): threading.Thread.__init__(self) self.m_print = CPrintMgt() self.m_func = func self.m_args = args print 'CMutilProcess[{}, {}, {}, {}]'.format(self, func, args, self.getName()) def run(self): print 'CMutilProcess_run[{}, {}, {}, {}, {}]'.format(self, self.getName(), self.m_args, id(self), *self.m_args) self.m_result = self.m_func(*self.m_args) def multhread_process_handle_func(func, args): bResult = False output_result = [] try: threads = [] threadNum = len(args) # 创建线程 for i in range(threadNum): t = CMyThread(func, *tuple(args[i])) threads.append(t) # 启动线程 for i in range(len(threads)): threads[i].start() # 执行线程 for i in range(len(threads)): threads[i].join() # 获取结果 bResult = True # print_obj.fnPrintInfo('--------------------------------------------') print('--------------------------------------------') for i in range(len(threads)): if isinstance(threads[i].m_result, bool): bResultTemp = threads[i].m_result print('multhread[thread:{}]handle result:{}'.format(i, threads[i].m_result, bResultTemp)) bResult &= bResultTemp output_result.append(None) elif isinstance(threads[i].m_result, list) or isinstance(threads[i].m_result, tuple): bResultTemp = threads[i].m_result[0] print('multhread[thread:{}]handle result:{}'.format(i, threads[i].m_result, bResultTemp)) bResult &= bResultTemp output_result.append(list(threads[i].m_result[1:])) print('multhread[threadnum:{}]all handle result:{}'.format(len(threads), bResult)) print('--------------------------------------------') # print_obj.fnPrintInfo('--------------------------------------------') # print_obj.fnPrintInfo('多线程数量({})执行结果:{}'.format(threadNum, bResult)) # print_obj.fnPrintInfo('--------------------------------------------') except Exception as e: bResult = False # print_obj.fnPrintException(e) finally: return bResult, output_result ``` ![图片说明](https://img-ask.csdn.net/upload/201911/18/1574044674_742482.png)
python函数,形参不确定的情况下,传入一个列表。只循环一次,是为什么?
def buttown(*out): for i in out: print ('greet '+str(i)) buttown(list(range(1,10))) 求大神赐教,为什么这个循环只打印了一次,就不会打印第二次了,为什么输出的结果是greet [1, 2, 3, 4, 5, 6, 7, 8, 9]。从逻辑上来说,代码没错啊,将1到10的列表传入到函数中。然后用变量i在列表out里循环。每循环一次打印一次变量的值。其结果不应该是这样的吗?求教,*out表示函数的参数未知。那我传入一个列表,在这里函数的实参变成几个了。初学python不懂的太多,求大神赐教,谢谢! greet 1 greet 2 greet 3 greet 4 greet 5 greet 6 greet 7 greet 8 greet 9
Python 如何修改坐标轴单位?
求助各位大神,我的数据都是小数点后面很多位,现在想把纵坐标改成(0 0.05 0.01 0.15...)这种形式 看起来简洁点,应该怎么修改代码呢 用网上的方法好像都不成功![图片说明](https://img-ask.csdn.net/upload/201801/16/1516092786_323009.png) ``` #X加速度/阈值 pl.title('Acce_x') pl.xlabel('seq') pl.ylabel('') x=list_seq[1:len(list_seq)] #pl.plot(range(1,len(Acce_x_last)+1),Acce_x_last,label='Acce_x') pl.plot(range(len(list_gradient_x)),list_gradient_x,label='Acce_x gradient') pl.legend() pl.show() ``` 求大神解答~~~
tensorflow模型推理,两个列表串行,输出结果是第一个列表的循环,新手求教
tensorflow模型推理,两个列表串行,输出结果是第一个列表的循环,新手求教 ``` from __future__ import print_function import argparse from datetime import datetime import os import sys import time import scipy.misc import scipy.io as sio import cv2 from glob import glob import multiprocessing os.environ["CUDA_VISIBLE_DEVICES"] = "0" import tensorflow as tf import numpy as np from PIL import Image from utils import * N_CLASSES = 20 DATA_DIR = './datasets/CIHP' LIST_PATH = './datasets/CIHP/list/val2.txt' DATA_ID_LIST = './datasets/CIHP/list/val_id2.txt' with open(DATA_ID_LIST, 'r') as f: NUM_STEPS = len(f.readlines()) RESTORE_FROM = './checkpoint/CIHP_pgn' # Load reader. with tf.name_scope("create_inputs") as scp1: reader = ImageReader(DATA_DIR, LIST_PATH, DATA_ID_LIST, None, False, False, False, None) image, label, edge_gt = reader.image, reader.label, reader.edge image_rev = tf.reverse(image, tf.stack([1])) image_list = reader.image_list image_batch = tf.stack([image, image_rev]) label_batch = tf.expand_dims(label, dim=0) # Add one batch dimension. edge_gt_batch = tf.expand_dims(edge_gt, dim=0) h_orig, w_orig = tf.to_float(tf.shape(image_batch)[1]), tf.to_float(tf.shape(image_batch)[2]) image_batch050 = tf.image.resize_images(image_batch, tf.stack([tf.to_int32(tf.multiply(h_orig, 0.50)), tf.to_int32(tf.multiply(w_orig, 0.50))])) image_batch075 = tf.image.resize_images(image_batch, tf.stack([tf.to_int32(tf.multiply(h_orig, 0.75)), tf.to_int32(tf.multiply(w_orig, 0.75))])) image_batch125 = tf.image.resize_images(image_batch, tf.stack([tf.to_int32(tf.multiply(h_orig, 1.25)), tf.to_int32(tf.multiply(w_orig, 1.25))])) image_batch150 = tf.image.resize_images(image_batch, tf.stack([tf.to_int32(tf.multiply(h_orig, 1.50)), tf.to_int32(tf.multiply(w_orig, 1.50))])) image_batch175 = tf.image.resize_images(image_batch, tf.stack([tf.to_int32(tf.multiply(h_orig, 1.75)), tf.to_int32(tf.multiply(w_orig, 1.75))])) ``` 新建网络 ``` # Create network. with tf.variable_scope('', reuse=False) as scope: net_100 = PGNModel({'data': image_batch}, is_training=False, n_classes=N_CLASSES) with tf.variable_scope('', reuse=True): net_050 = PGNModel({'data': image_batch050}, is_training=False, n_classes=N_CLASSES) with tf.variable_scope('', reuse=True): net_075 = PGNModel({'data': image_batch075}, is_training=False, n_classes=N_CLASSES) with tf.variable_scope('', reuse=True): net_125 = PGNModel({'data': image_batch125}, is_training=False, n_classes=N_CLASSES) with tf.variable_scope('', reuse=True): net_150 = PGNModel({'data': image_batch150}, is_training=False, n_classes=N_CLASSES) with tf.variable_scope('', reuse=True): net_175 = PGNModel({'data': image_batch175}, is_training=False, n_classes=N_CLASSES) # parsing net parsing_out1_050 = net_050.layers['parsing_fc'] parsing_out1_075 = net_075.layers['parsing_fc'] parsing_out1_100 = net_100.layers['parsing_fc'] parsing_out1_125 = net_125.layers['parsing_fc'] parsing_out1_150 = net_150.layers['parsing_fc'] parsing_out1_175 = net_175.layers['parsing_fc'] parsing_out2_050 = net_050.layers['parsing_rf_fc'] parsing_out2_075 = net_075.layers['parsing_rf_fc'] parsing_out2_100 = net_100.layers['parsing_rf_fc'] parsing_out2_125 = net_125.layers['parsing_rf_fc'] parsing_out2_150 = net_150.layers['parsing_rf_fc'] parsing_out2_175 = net_175.layers['parsing_rf_fc'] # edge net edge_out2_100 = net_100.layers['edge_rf_fc'] edge_out2_125 = net_125.layers['edge_rf_fc'] edge_out2_150 = net_150.layers['edge_rf_fc'] edge_out2_175 = net_175.layers['edge_rf_fc'] # combine resize parsing_out1 = tf.reduce_mean(tf.stack([tf.image.resize_images(parsing_out1_050, tf.shape(image_batch)[1:3,]), tf.image.resize_images(parsing_out1_075, tf.shape(image_batch)[1:3,]), tf.image.resize_images(parsing_out1_100, tf.shape(image_batch)[1:3,]), tf.image.resize_images(parsing_out1_125, tf.shape(image_batch)[1:3,]), tf.image.resize_images(parsing_out1_150, tf.shape(image_batch)[1:3,]), tf.image.resize_images(parsing_out1_175, tf.shape(image_batch)[1:3,])]), axis=0) parsing_out2 = tf.reduce_mean(tf.stack([tf.image.resize_images(parsing_out2_050, tf.shape(image_batch)[1:3,]), tf.image.resize_images(parsing_out2_075, tf.shape(image_batch)[1:3,]), tf.image.resize_images(parsing_out2_100, tf.shape(image_batch)[1:3,]), tf.image.resize_images(parsing_out2_125, tf.shape(image_batch)[1:3,]), tf.image.resize_images(parsing_out2_150, tf.shape(image_batch)[1:3,]), tf.image.resize_images(parsing_out2_175, tf.shape(image_batch)[1:3,])]), axis=0) edge_out2_100 = tf.image.resize_images(edge_out2_100, tf.shape(image_batch)[1:3,]) edge_out2_125 = tf.image.resize_images(edge_out2_125, tf.shape(image_batch)[1:3,]) edge_out2_150 = tf.image.resize_images(edge_out2_150, tf.shape(image_batch)[1:3,]) edge_out2_175 = tf.image.resize_images(edge_out2_175, tf.shape(image_batch)[1:3,]) edge_out2 = tf.reduce_mean(tf.stack([edge_out2_100, edge_out2_125, edge_out2_150, edge_out2_175]), axis=0) raw_output = tf.reduce_mean(tf.stack([parsing_out1, parsing_out2]), axis=0) head_output, tail_output = tf.unstack(raw_output, num=2, axis=0) tail_list = tf.unstack(tail_output, num=20, axis=2) tail_list_rev = [None] * 20 for xx in range(14): tail_list_rev[xx] = tail_list[xx] tail_list_rev[14] = tail_list[15] tail_list_rev[15] = tail_list[14] tail_list_rev[16] = tail_list[17] tail_list_rev[17] = tail_list[16] tail_list_rev[18] = tail_list[19] tail_list_rev[19] = tail_list[18] tail_output_rev = tf.stack(tail_list_rev, axis=2) tail_output_rev = tf.reverse(tail_output_rev, tf.stack([1])) raw_output_all = tf.reduce_mean(tf.stack([head_output, tail_output_rev]), axis=0) raw_output_all = tf.expand_dims(raw_output_all, dim=0) pred_scores = tf.reduce_max(raw_output_all, axis=3) raw_output_all = tf.argmax(raw_output_all, axis=3) pred_all = tf.expand_dims(raw_output_all, dim=3) # Create 4-d tensor. raw_edge = tf.reduce_mean(tf.stack([edge_out2]), axis=0) head_output, tail_output = tf.unstack(raw_edge, num=2, axis=0) tail_output_rev = tf.reverse(tail_output, tf.stack([1])) raw_edge_all = tf.reduce_mean(tf.stack([head_output, tail_output_rev]), axis=0) raw_edge_all = tf.expand_dims(raw_edge_all, dim=0) pred_edge = tf.sigmoid(raw_edge_all) res_edge = tf.cast(tf.greater(pred_edge, 0.5), tf.int32) # prepare ground truth preds = tf.reshape(pred_all, [-1,]) gt = tf.reshape(label_batch, [-1,]) weights = tf.cast(tf.less_equal(gt, N_CLASSES - 1), tf.int32) # Ignoring all labels greater than or equal to n_classes. mIoU, update_op_iou = tf.contrib.metrics.streaming_mean_iou(preds, gt, num_classes=N_CLASSES, weights=weights) macc, update_op_acc = tf.contrib.metrics.streaming_accuracy(preds, gt, weights=weights) # # Which variables to load. # restore_var = tf.global_variables() # # Set up tf session and initialize variables. # config = tf.ConfigProto() # config.gpu_options.allow_growth = True # # gpu_options=tf.GPUOptions(per_process_gpu_memory_fraction=0.7) # # config=tf.ConfigProto(gpu_options=gpu_options) # init = tf.global_variables_initializer() # evaluate prosessing parsing_dir = './output' # Set up tf session and initialize variables. config = tf.ConfigProto() config.gpu_options.allow_growth = True ``` 以上是初始化网络和初始化参数载入模型,下面定义两个函数分别处理val1.txt和val2.txt两个列表内部的数据。 ``` # 处理第一个列表函数 def humanParsing1(): # Which variables to load. restore_var = tf.global_variables() init = tf.global_variables_initializer() with tf.Session(config=config) as sess: sess.run(init) sess.run(tf.local_variables_initializer()) # Load weights. loader = tf.train.Saver(var_list=restore_var) if RESTORE_FROM is not None: if load(loader, sess, RESTORE_FROM): print(" [*] Load SUCCESS") else: print(" [!] Load failed...") # Create queue coordinator. coord = tf.train.Coordinator() # Start queue threads. threads = tf.train.start_queue_runners(coord=coord, sess=sess) # Iterate over training steps. for step in range(NUM_STEPS): # parsing_, scores, edge_ = sess.run([pred_all, pred_scores, pred_edge])# , update_op parsing_, scores, edge_ = sess.run([pred_all, pred_scores, pred_edge]) # , update_op print('step {:d}'.format(step)) print(image_list[step]) img_split = image_list[step].split('/') img_id = img_split[-1][:-4] msk = decode_labels(parsing_, num_classes=N_CLASSES) parsing_im = Image.fromarray(msk[0]) parsing_im.save('{}/{}_vis.png'.format(parsing_dir, img_id)) coord.request_stop() coord.join(threads) # 处理第二个列表函数 def humanParsing2(): # Set up tf session and initialize variables. config = tf.ConfigProto() config.gpu_options.allow_growth = True # gpu_options=tf.GPUOptions(per_process_gpu_memory_fraction=0.7) # config=tf.ConfigProto(gpu_options=gpu_options) # Which variables to load. restore_var = tf.global_variables() init = tf.global_variables_initializer() with tf.Session(config=config) as sess: # Create queue coordinator. coord = tf.train.Coordinator() sess.run(init) sess.run(tf.local_variables_initializer()) # Load weights. loader = tf.train.Saver(var_list=restore_var) if RESTORE_FROM is not None: if load(loader, sess, RESTORE_FROM): print(" [*] Load SUCCESS") else: print(" [!] Load failed...") LIST_PATH = './datasets/CIHP/list/val1.txt' DATA_ID_LIST = './datasets/CIHP/list/val_id1.txt' with open(DATA_ID_LIST, 'r') as f: NUM_STEPS = len(f.readlines()) # with tf.name_scope("create_inputs"): with tf.name_scope(scp1): tf.get_variable_scope().reuse_variables() reader = ImageReader(DATA_DIR, LIST_PATH, DATA_ID_LIST, None, False, False, False, coord) image, label, edge_gt = reader.image, reader.label, reader.edge image_rev = tf.reverse(image, tf.stack([1])) image_list = reader.image_list # Start queue threads. threads = tf.train.start_queue_runners(coord=coord, sess=sess) # Load weights. loader = tf.train.Saver(var_list=restore_var) if RESTORE_FROM is not None: if load(loader, sess, RESTORE_FROM): print(" [*] Load SUCCESS") else: print(" [!] Load failed...") # Iterate over training steps. for step in range(NUM_STEPS): # parsing_, scores, edge_ = sess.run([pred_all, pred_scores, pred_edge])# , update_op parsing_, scores, edge_ = sess.run([pred_all, pred_scores, pred_edge]) # , update_op print('step {:d}'.format(step)) print(image_list[step]) img_split = image_list[step].split('/') img_id = img_split[-1][:-4] msk = decode_labels(parsing_, num_classes=N_CLASSES) parsing_im = Image.fromarray(msk[0]) parsing_im.save('{}/{}_vis.png'.format(parsing_dir, img_id)) coord.request_stop() coord.join(threads) if __name__ == '__main__': humanParsing1() humanParsing2() ``` 最终输出结果一直是第一个列表里面的循环,代码上用了 self.queue = tf.train.slice_input_producer([self.images, self.labels, self.edges], shuffle=shuffle),队列的方式进行多线程推理。最终得到的结果一直是第一个列表的循环,求大神告诉问题怎么解决。
python爬虫抓取机票时出现的问题
我是在校学生,自学了点python,想用爬虫抓取机票价格可以更方便的了解特价票信息,所以在网上找了抓取的一些代码然后自己又改了一些,初步有自己想要的功能:挂在服务器上运行,一旦有特价票,向我的邮箱发信息。但是一直有问题,第一个是运行的时候会出下面这个错误(好像是列表越界): Exception in thread Thread-24: Traceback (most recent call last): File "/usr/local/python27/lib/python2.7/threading.py", line 551, in __bootstrap_inner self.run() File "/usr/local/python27/lib/python2.7/threading.py", line 755, in run self.function(*self.args, **self.kwargs) File "SpecialFlightPrice.py", line 72, in task_query_flight flights=getdate(city, today, enddate) File "SpecialFlightPrice.py", line 27, in getdate json_data = re.findall(pattern, price_html)[0] IndexError: list index out of range 还有一个问题就是我想每天定时对机票信息文件进行清空,但是写的代码却实现不了这个功能,请大神顺便帮我改一改。 先感谢! 下面是源码(我把个人的2个邮箱改成了xxxxxxxx,如果想运行需要把xxxxxxxx改成自己的2个邮箱,还有因为是挂在服务器上运行的,所以需要输入几个参数:出发地点,日期,日期后几天的机票): # -*- coding: utf-8 -*- import datetime import time import json import urllib import re import sys import threading from email.mime.text import MIMEText import smtplib from time import sleep from threading import Timer from _ast import While default_encoding = 'utf-8' reload(sys) sys.setdefaultencoding(default_encoding) def getdate(city,startdate,enddate): url = 'https://sjipiao.alitrip.com/search/cheapFlight.htm?startDate=%s&endDate=%s&' \ 'routes=%s-&_ksTS=1469412627640_2361&callback=jsonp2362&ruleId=99&flag=1' % (startdate, enddate,city) price_html = urllib.urlopen(url).read().strip() pattern = r'jsonp2362\(\s+(.+?)\)' re_rule = re.compile(pattern) json_data = re.findall(pattern, price_html)[0] price_json = json.loads(json_data) flights = price_json['data']['flights'] # flights Info return flights def sendmail(a,b,c,d): _user = "xxxxxxxxxxx@163.com" _pwd = "xxxxxxxxxxx" _to = "xxxxxxxxxxxxx@qq.com" msg = MIMEText('%s%s%s%s'%(a,b,c,d),'plain','utf-8') msg["Subject"] = "有特价票啦~" msg["From"] = _user msg["To"] = _to try: s = smtplib.SMTP_SSL("smtp.163.com", 465) s.login(_user, _pwd) s.sendmail(_user, _to, msg.as_string()) s.quit() print "Success!" except smtplib.SMTPException: print "Falied" def task_query_flight(): city=str(sys.argv[1]) year=int(sys.argv[2]) month=int(sys.argv[3]) day=int(sys.argv[4]) delay=int(sys.argv[5]) if city=='DL': city='DLC' elif city=='NJ': city='NKG' elif city=='BJ': city='BJS' today = datetime.date(year,month,day) enddate = today + datetime.timedelta(delay) print'从%s到%s的最便宜的机票价格是' % (today,enddate) flights=getdate(city, today, enddate) for f in flights: if f['discount'] <=2 : source = '从:%s-' % f['depName'] dest = '到:%s\t' % f['arrName'] price = '\t价格:%s%s(折扣:%s)\t' % ((f['price']), f['priceDesc'], f['discount']) depart_date = '\t日期:%s' % f['depDate'] print source+dest+price+depart_date with open('store.txt','a') as f: f.write(' ') with open('store.txt','r') as f: for line in f.readlines(): if '%s%s%s%s'%(source,dest,price,depart_date) in line: Timer(60,task_query_flight).start() else: sendmail(source, dest, price, depart_date) with open('store.txt', 'a') as f: f.write('%s%s%s%s'%(source,dest,price,depart_date)) Timer(60,task_query_flight).start() ''' 两个问题: 1、列表越界 list out of range 2、定时器只会运行一次 不知什么原因。 if 没找到discount<2的, 则 循环一直找 并且设定时器到某一时间即清空文件内容 ''' while True: task_query_flight() current_time = time.localtime(time.time()) if((current_time.tm_hour == 7) and (current_time.tm_min == 0)): with open('store1.txt','w') as f: f.truncate() time.sleep(60) if __name__ == '__main__': task_query_flight()
Python3 多进程 向子进程传参数Queue,子进程无法运行
``` #!/usr/bin/python from multiprocessing import Pool, Queue import time def Foo(i, q): print("sub", i) if __name__ == "__main__": q = Queue() pool = Pool(5) for i in range(10): pool.apply_async(func = Foo, args = (i, q, )) pool.close() pool.join() print('end') ``` 向子进程传了一个队列,子进程就全部无法运行。如果传一个list,传一个数都没问题。请大神指点指点。 ![图片说明](https://img-ask.csdn.net/upload/201812/28/1545996695_326091.png)
python2 中tkinter 打开文件 中文乱码
这个程序的目的是写一个文件树软件,通过“打开”button 打开地址对话框,选择文件夹。如果是文件夹 双击则继续打开 如果是文件 双击则打开文件。 (双击打开文件还没写) 现在打开文件夹之后 很多地方显示乱码,而且打开某一个文件并不是马上显示出文件夹中所有文件,需要点进去再退回来才能显示。 现在程序应该有不少错误,一点点改吧。 首先请问大神 怎么解决中文乱码问题? 在运行的时候提示这种错误语言: Traceback (most recent call last): File "D:\Python27\lib\lib-tk\Tkinter.py", line 1547, in __call__ return self.func(*args) File "d:\Untitled-1.py", line 28, in setDirAndGo doLS() File "d:\Untitled-1.py", line 52, in doLS cwd.set(os.getcwd()+'\\'+tdir) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 3: ordinal not in range(128) ``` #!/usr/bin/env python # -*- coding: utf-8 -*- import os from time import sleep from Tkinter import * import tkFileDialog #弹出选择路径的库 import tkMessageBox import fnmatch #选择文件的关键词 def dakai(): dirs.delete(0,END) default_dir = r"C:\Users\lenovo\Desktop" # 设置默认打开目录 path = tkFileDialog.askdirectory(title=u"选择文件", initialdir=(os.path.expanduser(default_dir))) doLS1(path) #双击时调用,双击时,设置背景色为红色,并调用doLS函数打开所选文件 def setDirAndGo(ev=None): last = cwd.get() dirs.config(selectbackground='red') check = dirs.get(dirs.curselection()) if not check: check = os.curdir cwd.set(check) doLS() #实现更新目录的核心函数 def doLS(ev=None): error = '' tdir = cwd.get() if not tdir:tdir=os.curdir #若路径输入错误,或者打开的是文件,而不是目录,则更新错误提示信息 if not os.path.exists(tdir): error = os.getcwd()+'\\'+tdir + ':未找到文件' elif not os.path.isdir(tdir): error = os.getcwd()+'\\'+tdir + ':未找到目录' if error: cwd.set(error) top2.update() sleep(1) if not (last): last = os.curdir cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') dirn.config(text=os.getcwd()+'\\'+tdir) top2.update() return cwd.set(os.getcwd()+'\\'+tdir) top2.update() dirlist = os.listdir(tdir)#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 dirlist.sort() os.chdir(tdir)#os.chdir() 方法用于改变当前工作目录到指定的路径。 #更新界面上方标签内容 dirl.config(text=os.getcwd().decode("gbk").encode("utf-8")) top2.update() dirs.delete(0,END) dirs.insert(END,os.pardir)#os.chdir(os.pardir) 切换到上级目录 即将上级目录.. 插入到dirs对象中 #把选定目录的文件或文件夹的名字的列表依次插入到dirs对象中 for eachFile in dirlist: dirs.insert(END,eachFile.decode("gbk").encode("utf-8")) #先解码 再编码 bingo! cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') def doLS1(path): error = '' tdir = path if not tdir:tdir=os.curdir #若路径输入错误,或者打开的是文件,而不是目录,则更新错误提示信息 if not os.path.exists(tdir): error = os.getcwd()+'\\'+tdir + ':未找到文件' elif not os.path.isdir(tdir): error = os.getcwd()+'\\'+tdir + ':未找到目录' if error: cwd.set(error) top2.update() sleep(1) if not (last): last = os.curdir cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') dirn.config(text=os.getcwd()+'\\'+tdir) top2.update() return cwd.set(os.getcwd()+'\\'+tdir) top2.update() dirlist = os.listdir(tdir)#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 dirlist.sort() os.chdir(tdir)#os.chdir() 方法用于改变当前工作目录到指定的路径。 #更新界面上方标签内容 dirl.config(text=os.getcwd().decode("gbk").encode("utf-8")) top2.update() dirs.delete(0,END) dirs.insert(END,os.pardir)#os.chdir(os.pardir) 切换到上级目录 即将上级目录.. 插入到dirs对象中 #把选定目录的文件或文件夹的名字的列表依次插入到dirs对象中 for eachFile in dirlist: dirs.insert(END,eachFile.decode("gbk").encode("utf-8")) cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') top2 = Tk() top2.title('营销集约管控中心-文件树') cwd = StringVar(top2) dirl = Label(top2,fg = 'blue') dirl.pack() dirfm = Frame(top2) dirsb = Scrollbar(dirfm) dirsb.pack(side=RIGHT,fill=Y) dirs = Listbox(dirfm,height=15,width=50,yscrollcommand=dirsb.set) #通过使用List的bind()方法,将鼠标双击事件绑定,并调用setDirAndGo函数 dirs.bind('<Double-1>',setDirAndGo) # 下面实现单击时,将所选文件路径加名字更新到下方输入框控件中,不能用self.dirs.bind('<Button-1>', self.setDirn)绑定单击事件,会出错 #dirs.bind("<<ListboxSelect>>", setDirn) dirsb.config(command=dirs.yview) dirs.pack(side=LEFT,fill=BOTH) dirfm.pack() #第二个框架bfm,放置按钮 bfm = Frame(top2) open = Button(bfm,text='打开',command=dakai,activeforeground='white',activebackground='blue') open.pack(side=LEFT) bfm.pack() if __name__ =='__main__': #设定初始目录为桌面 mainloop() ```
tensorflow实现BP算法遇到了问题,求大神指点!!!
import tensorflow as tf import numpy as np #from tensorflow.examples.tutorials.mnist import input_data #载入数据集 #mnist = input_data.read_data_sets("MNIST_data",one_hot=True) #每个批次的大小 #batch_size = 100 #????????????????????????????????? #计算一共有多少个批次 #n_batch = mnist.train.num_examples // batch_size #定义placeholder x_data=np.mat([[0.4984,0.5102,0.5213,0.5340], [0.5102,0.5213,0.5340,0.5407], [0.5213,0.5340,0.5407,0.5428], [0.5340,0.5407,0.5428,0.5530], [0.5407,0.5428,0.5530,0.5632], [0.5428,0.5530,0.5632,0.5739], [0.5530,0.5632,0.5739,0.5821], [0.5632,0.5739,0.5821,0.5920], [0.5739,0.5821,0.5920,0.5987], [0.5821,0.5920,0.5987,0.6043], [0.5920,0.5987,0.6043,0.6095], [0.5987,0.6043,0.6095,0.6161], [0.6043,0.6095,0.6161,0.6251], [0.6095,0.6161,0.6251,0.6318], [0.6161,0.6251,0.6318,0.6387], [0.6251,0.6318,0.6387,0.6462], [0.6318,0.6387,0.6462,0.6518], [0.6387,0.6462,0.6518,0.6589], [0.6462,0.6518,0.6589,0.6674], [0.6518,0.6589,0.6674,0.6786], [0.6589,0.6674,0.6786,0.6892], [0.6674,0.6786,0.6892,0.6988]]) y_data=np.mat([[0.5407], [0.5428], [0.5530], [0.5632], [0.5739], [0.5821], [0.5920], [0.5987], [0.6043], [0.6095], [0.6161], [0.6251], [0.6318], [0.6387], [0.6462], [0.6518], [0.6589], [0.6674], [0.6786], [0.6892], [0.6988], [0.7072]]) xs = tf.placeholder(tf.float32,[None,4]) # 样本数未知,特征数为1,占位符最后要以字典形式在运行中填入 ys = tf.placeholder(tf.float32,[None,1]) #创建一个简单的神经网络 W1 = tf.Variable(tf.truncated_normal([4,10],stddev=0.1)) b1 = tf.Variable(tf.zeros([10])+0.1) L1 = tf.nn.tanh(tf.matmul(x,W1)+b1) W2 = tf.Variable(tf.truncated_normal([10,1],stddev=0.1)) b2 = tf.Variable(tf.zeros([1])+0.1) L2 = tf.nn.softmax(tf.matmul(L1,W2)+b2) #二次代价函数 #loss = tf.reduce_mean(tf.square(y-prediction)) #loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=ys,logits=prediction)) loss = tf.reduce_mean(tf.reduce_sum(tf.square((ys-L2)),reduction_indices = [1]))#需要向相加索引号,redeuc执行跨纬度操作 #使用梯度下降法 #train_step = tf.train.GradientDescentOptimizer(0.1).mnimize(loss) train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss) #train = tf.train.GradientDescentOptimizer(0.1).minimize(loss) # 选择梯度下降法 #初始化变量 #init = tf.global_variables_initializer() init = tf.initialize_all_variables() #结果存放在一个布尔型列表中 #correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(prediction,1)) #求准确率 #accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32)) with tf.Session() as sess: sess.run(init) for epoch in range(21): for i in range(22): #batch_xs,batch_ys = mnist.train.next_batch(batch_size) #????????????????????????? sess.run(train_step,feed_dict={xs:x_data,ys:y_data}) #test_acc = sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels,keep_prob:1.0}) #train_acc = sess.run(accuracy,feed_dict={x:mnist.train.images,y:mnist.train.labels,keep_prob:1.0}) print (sess.run(prediction,feed_dict={xs:x_data,ys:y_data})) 提示:WARNING:tensorflow:From <ipython-input-10-578836c021a3>:89 in <module>.: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02. Instructions for updating: Use `tf.global_variables_initializer` instead. --------------------------------------------------------------------------- InvalidArgumentError Traceback (most recent call last) C:\Users\Administrator\Anaconda3\lib\site-packages\tensorflow\python\client\session.py in _do_call(self, fn, *args) 1020 try: -> 1021 return fn(*args) 1022 except errors.OpError as e: C:\Users\Administrator\Anaconda3\lib\site-packages\tensorflow\python\client\session.py in _run_fn(session, feed_dict, fetch_list, target_list, options, run_metadata) 1002 feed_dict, fetch_list, target_list, -> 1003 status, run_metadata) 1004 。。。
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
死磕YOLO系列,YOLOv1 的大脑、躯干和手脚
YOLO 是我非常喜欢的目标检测算法,堪称工业级的目标检测,能够达到实时的要求,它帮我解决了许多实际问题。 这就是 YOLO 的目标检测效果。它定位了图像中物体的位置,当然,也能预测物体的类别。 之前我有写博文介绍过它,但是每次重新读它的论文,我都有新的收获,为此我准备写一个系列的文章来详尽分析它。这是第一篇,从它的起始 YOLOv1 讲起。 YOLOv1 的论文地址:https://www.c
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片
简明易理解的@SpringBootApplication注解源码解析(包含面试提问)
欢迎关注文章系列 ,关注我 《提升能力,涨薪可待》 《面试知识,工作可待》 《实战演练,拒绝996》 欢迎关注我博客,原创技术文章第一时间推出 也欢迎关注公 众 号【Ccww笔记】,同时推出 如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗! 《提升能力,涨薪可待篇》- @SpringBootApplication注解源码解析 一、@SpringBootApplication 的作用是什
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库——点这里跳转 文章目录Python语言高频重点汇总**GitHub面试宝典仓库——点这里跳转**1. 函数-传参2. 元类3. @staticmethod和@classmethod两个装饰器4. 类属性和实例属性5. Python的自省6. 列表、集合、字典推导式7. Python中单下划线和双下划线8. 格式化字符串中的%和format9.
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
ES6基础-ES6的扩展
进行对字符串扩展,正则扩展,数值扩展,函数扩展,对象扩展,数组扩展。 开发环境准备: 编辑器(VS Code, Atom,Sublime)或者IDE(Webstorm) 浏览器最新的Chrome 字符串的扩展: 模板字符串,部分新的方法,新的unicode表示和遍历方法: 部分新的字符串方法 padStart,padEnd,repeat,startsWith,endsWith,includes 字
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ,语法同java类似,是一种解释性语言,边执行边解释。 JavaScript的组成: ECMAScipt 用于描述: 语法,变量和数据类型,运算符,逻辑控制语句,关键字保留字,对象。 浏览器对象模型(Br
Qt实践录:开篇
本系列文章介绍笔者的Qt实践之路。 背景 笔者首次接触 Qt 大约是十多年前,当时试用了 Qt ,觉得不如 MFC 好用。现在 Qt 的 API、文档等都比较完善,在年初决定重新拾起,正所谓技多不压身,将 Qt 当为一种谋生工具亦未尝不可。利用春节假期的集中时间,快速专攻一下。 本系列名为“Qt实践”,故不是教程,笔者对 Qt 的定位是“使用”,可以帮助快速编写日常的工具,如串口、网络等。所以不
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
一条链接即可让黑客跟踪你的位置! | Seeker工具使用
搬运自:冰崖的部落阁(icecliffsnet) 严正声明:本文仅限于技术讨论,严禁用于其他用途。 请遵守相对应法律规则,禁止用作违法途径,出事后果自负! 上次写的防社工文章里边提到的gps定位信息(如何防止自己被社工或人肉) 除了主动收集他人位置信息以外,我们还可以进行被动收集 (没有技术含量) Seeker作为一款高精度地理位置跟踪工具,同时也是社交工程学(社会工程学)爱好者...
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c#怎么获得线程名 c# usb 采集器 c# csv 读取 c# sort() c# 关闭io流 c# 响应函数 插入 c#面对对象的三大特性 c# 打印 等比缩放 c#弹出右键菜单 c#1如何搞成01
立即提问