day20 模块-sys,time,collection

 

 

 

所有常用模块的用法:  http://www.cnblogs.com/Eva-J/articles/7228075.html

前情回顾:

# 常用模块
# 常用模块 —— 东西多
# 异常处理
# 什么是模块
# 面向对象

#面向对象编程 :

#面向函数编程 :多用面向函数的思路写代码
View Code

 

正则复习:

import re
# ret = re.findall(r'www\.baidu\.com|www\.oldboy\.com',r'www.baidu.com')
# ret = re.findall(r'www\.(baidu|oldboy)\.com',r'www.baidu.com')     #findall取组内
# ret = re.findall(r'www\.(?:baidu|oldboy)\.com',r'www.baidu.com')   #findall取组所有匹配的
# print(ret)
#分组优先:优先显示括号内部的内容
#取消分组优先

# ret = re.search(r'www\.(?Pbaidu|oldboy)\.com',r'www.baidu.com').group('web_name')  #search取组内
# ret = re.search(r'www\.(?Pbaidu|oldboy)\.com',r'www.baidu.com').group()    #search取全组
# print(ret)

# ret=re.split("\d+","eva3egon4yuan")
# print(ret) #结果 : ['eva', 'egon', 'yuan']
#
# ret=re.split("(\d+)","eva3egon4yuan")
# print(ret) #结果 : ['eva', '3', 'egon', '4', 'yuan']

# ret = re.search("<\w+>\w+","

hello

")
# ret = re.search("<(?P\w+)>\w+","

hello

")
# print(ret.group('tag_name')) #结果 :h1 # print(ret.group()) #结果 :

hello

#分组的命名和组的引用 # ret = re.search(r"<(\w+)>\w+","

hello

")
# print(ret.group(1)) #如果不给组起名字,也可以用\序号来找到对应的组,表示要找的内容和前面的组内容一致 #获取的匹配结果可以直接用group(序号)拿到对应的值 # print(ret.group()) #结果 :

hello

# ret = re.findall(r"<(\w+)>\w+","

hello

")
# print(ret) # ret=re.findall(r"\d+","1-2*(60+(-40.35/5)-(-4*3))") # print(ret) # 40.35 #\d+\.\d+|\d+ [^] ret=re.findall(r"\d+\.\d+|(\d+)","1-2*(60+(-40.35/5)-(-4*3))") print(ret) ret.remove('') print(ret)
View Code

 

爬虫练习:

import re
from urllib.request import urlopen

def getPage(url):
    response = urlopen(url)   #bytes
    return response.read().decode('utf-8')

def parsePage(s):
    com = re.compile(
        '
.*?
.*?(?P\d+).*?(?P.*?)</span></span><span style="color:#800000;">'</span> <span style="color:#800000;">'</span><span style="color:#800000;">.*?<span class="rating_num" .*?>(?P<rating_num>.*?)</span>.*?<span>(?P<comment_num>.*?)评价</span></span><span style="color:#800000;">'</span><span style="color:#000000;">, re.S) ret </span>=<span style="color:#000000;"> com.finditer(s) </span><span style="color:#0000ff;">for</span> i <span style="color:#0000ff;">in</span><span style="color:#000000;"> ret: </span><span style="color:#0000ff;">yield</span><span style="color:#000000;"> { </span><span style="color:#800000;">"</span><span style="color:#800000;">id</span><span style="color:#800000;">"</span>: i.group(<span style="color:#800000;">"</span><span style="color:#800000;">id</span><span style="color:#800000;">"</span><span style="color:#000000;">), </span><span style="color:#800000;">"</span><span style="color:#800000;">title</span><span style="color:#800000;">"</span>: i.group(<span style="color:#800000;">"</span><span style="color:#800000;">title</span><span style="color:#800000;">"</span><span style="color:#000000;">), </span><span style="color:#800000;">"</span><span style="color:#800000;">rating_num</span><span style="color:#800000;">"</span>: i.group(<span style="color:#800000;">"</span><span style="color:#800000;">rating_num</span><span style="color:#800000;">"</span><span style="color:#000000;">), </span><span style="color:#800000;">"</span><span style="color:#800000;">comment_num</span><span style="color:#800000;">"</span>: i.group(<span style="color:#800000;">"</span><span style="color:#800000;">comment_num</span><span style="color:#800000;">"</span><span style="color:#000000;">), } </span><span style="color:#0000ff;">def</span><span style="color:#000000;"> main(num): url </span>= <span style="color:#800000;">'</span><span style="color:#800000;">https://movie.douban.com/top250?start=%s&filter=</span><span style="color:#800000;">'</span> %<span style="color:#000000;"> num response_html </span>=<span style="color:#000000;"> getPage(url) ret </span>=<span style="color:#000000;"> parsePage(response_html) </span><span style="color:#0000ff;">print</span><span style="color:#000000;">(ret) f </span>= open(<span style="color:#800000;">"</span><span style="color:#800000;">move_info7</span><span style="color:#800000;">"</span>, <span style="color:#800000;">"</span><span style="color:#800000;">a</span><span style="color:#800000;">"</span>, encoding=<span style="color:#800000;">"</span><span style="color:#800000;">utf8</span><span style="color:#800000;">"</span><span style="color:#000000;">) </span><span style="color:#0000ff;">for</span> obj <span style="color:#0000ff;">in</span><span style="color:#000000;"> ret: </span><span style="color:#0000ff;">print</span><span style="color:#000000;">(obj) data </span>=<span style="color:#000000;"> str(obj) f.write(data </span>+ <span style="color:#800000;">"</span><span style="color:#800000;">\n</span><span style="color:#800000;">"</span><span style="color:#000000;">) count </span>=<span style="color:#000000;"> 0 </span><span style="color:#0000ff;">for</span> i <span style="color:#0000ff;">in</span> range(10<span style="color:#000000;">): main(count) count </span>+= 25</pre> </div> <span class="cnblogs_code_collapse">View Code</span> </div> <p> </p> <p>collection模块:</p> <div class="cnblogs_code"> <img id="code_img_closed_5738afd1-d785-407b-99cf-966e5de36ec5" class="code_img_closed" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" alt="" width="0" height="0"> <img id="code_img_opened_5738afd1-d785-407b-99cf-966e5de36ec5" class="code_img_opened" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" alt="" width="0" height="0"> <div id="cnblogs_code_open_5738afd1-d785-407b-99cf-966e5de36ec5" class="cnblogs_code_hide"> <pre><span style="color:#008000;">#</span><span style="color:#008000;"> print(r'\n') #表示取消字符串内所有转译符的转译作用 real</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print('\n') #'\'转译符,n,加上转译符 \n --> 换行了</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print('\\n') #'\'转译符,n,加上转译符 \n --> 换行了</span><span style="color:#008000;"> # #</span><span style="color:#008000;">结论就是:在工具里什么样,挪到python里加个r</span> <span style="color:#008000;">#</span><span style="color:#008000;"> from collections import Iterator #迭代器</span><span style="color:#008000;"> #</span><span style="color:#008000;"> from collections import Iterable #可迭代对象</span> <span style="color:#008000;">#</span><span style="color:#008000;"> from collections import namedtuple</span><span style="color:#008000;"> #</span><span style="color:#008000;"> point1 = (1,1)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> x = point1[0]</span><span style="color:#008000;"> #</span><span style="color:#008000;"> y = point1[1]</span><span style="color:#008000;"> #</span><span style="color:#008000;"> P = namedtuple('Point',['x','y'])</span><span style="color:#008000;"> #</span><span style="color:#008000;"> p1 = P(1,2)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> p2 = P(3,4)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(p1.x)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(p1.y)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(p2.x)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(p2.y)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> 描述一类东西的时候,这一类东西都有相同的特征。</span><span style="color:#008000;"> #</span><span style="color:#008000;"> 想直接用特征的名字就描述这个值的时候,就可以用可命名元祖</span><span style="color:#008000;"> #</span><span style="color:#008000;"> 面向对象的时候还会再讲</span><span style="color:#008000;"> #</span><span style="color:#008000;"> 生日:年月日 (2011,11,11) #练习</span> <span style="color:#008000;">#</span><span style="color:#008000;">队列</span><span style="color:#008000;"> #</span><span style="color:#008000;"> import queue #队列_多线程多进程</span><span style="color:#008000;"> #</span><span style="color:#008000;"> q = queue.Queue()</span><span style="color:#008000;"> #</span><span style="color:#008000;"> q.put([1])</span><span style="color:#008000;"> #</span><span style="color:#008000;"> q.put(2) #处理任务</span><span style="color:#008000;"> #</span><span style="color:#008000;"> q.put(300)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> q.put('aaa')</span><span style="color:#008000;"> #</span><span style="color:#008000;"> q.put('wahaha')</span><span style="color:#008000;"> #</span><span style="color:#008000;"> # print(q.qsize())</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(q.get())</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(q.get())</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(q.get())</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(q.get())</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(q.get()) #hold住的功能</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(q.qsize())</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(q.get_nowait()) #如果没有不会hold住,且会报错</span> <span style="color:#008000;">#</span><span style="color:#008000;"> from collections import deque</span><span style="color:#008000;"> #</span><span style="color:#008000;"> dq = deque()</span><span style="color:#008000;"> #</span><span style="color:#008000;"> dq.append('a')</span><span style="color:#008000;"> #</span><span style="color:#008000;"> dq.append('b')</span><span style="color:#008000;"> #</span><span style="color:#008000;"> dq.appendleft('c')</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(dq.popleft())</span> <span style="color:#008000;">#</span><span style="color:#008000;"> from collections import OrderedDict</span><span style="color:#008000;"> #</span><span style="color:#008000;"> od = OrderedDict([('a', [1,2,3,4]), ('b', 2), ('c', 3)])</span><span style="color:#008000;"> #</span><span style="color:#008000;"> for k in od:</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(k,od[k])</span> <span style="color:#008000;">#</span><span style="color:#008000;"> l = [11,22,33,44,55,66,77,88,99,90]</span><span style="color:#008000;"> #</span><span style="color:#008000;"> dic = {}</span><span style="color:#008000;"> #</span><span style="color:#008000;"> for i in l:</span><span style="color:#008000;"> #</span><span style="color:#008000;"> if i > 66:</span><span style="color:#008000;"> #</span><span style="color:#008000;"> if 'k1' in dic:</span><span style="color:#008000;"> #</span><span style="color:#008000;"> dic['k1'].append(i)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> else:</span><span style="color:#008000;"> #</span><span style="color:#008000;"> dic['k1'] = []</span><span style="color:#008000;"> #</span><span style="color:#008000;"> dic['k1'].append(i)</span> <span style="color:#008000;">#</span><span style="color:#008000;"> from collections import defaultdict</span><span style="color:#008000;"> #</span><span style="color:#008000;"> def func():</span><span style="color:#008000;"> #</span><span style="color:#008000;"> return 0</span><span style="color:#008000;"> #</span><span style="color:#008000;"> my_dict = defaultdict(func)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> # my_dict = {}</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(my_dict['k'])</span></pre> </div> <span class="cnblogs_code_collapse">View Code</span> </div> <p> </p> <p>time模块:</p> <div class="cnblogs_code"> <img id="code_img_closed_ac13fea7-d578-451e-9db4-8effd1b447f5" class="code_img_closed" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" alt="" width="0" height="0"> <img id="code_img_opened_ac13fea7-d578-451e-9db4-8effd1b447f5" class="code_img_opened" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" alt="" width="0" height="0"> <div id="cnblogs_code_open_ac13fea7-d578-451e-9db4-8effd1b447f5" class="cnblogs_code_hide"> <pre><span style="color:#0000ff;">import</span><span style="color:#000000;"> time </span><span style="color:#008000;">#</span><span style="color:#008000;"> print(time.time()) #时间戳:记录了从1970.1.1到现在的所有秒</span><span style="color:#008000;"> #</span><span style="color:#008000;"> time.sleep(1)</span> <span style="color:#008000;">#</span><span style="color:#008000;"> ret = time.strftime('%Y-%m-%d %a %H:%M:%S') #string format time</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(ret)</span> <span style="color:#008000;">#</span><span style="color:#008000;"> print(time.localtime())</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(time.gmtime())</span> <span style="color:#008000;">#</span><span style="color:#008000;"> print(time.time())</span><span style="color:#008000;"> #</span><span style="color:#008000;">1000000000</span><span style="color:#008000;"> #</span><span style="color:#008000;"> ret = time.localtime(3000000000)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(ret)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(time.mktime(ret))</span> <span style="color:#008000;">#</span><span style="color:#008000;"> ret2 = time.strftime('%c',ret)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(ret2)</span> <span style="color:#008000;">#</span><span style="color:#008000;"> print(time.strptime('1990-3-31','%Y-%m-%d'))</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(time.mktime(time.strptime('1990-3-31','%Y-%m-%d')))</span> <span style="color:#008000;">#</span><span style="color:#008000;"> print(time.asctime())</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(time.asctime(time.localtime(1000000)))</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(time.ctime(1000000))</span> <span style="color:#008000;">#</span><span style="color:#008000;"> start_time = 1500000000</span><span style="color:#008000;"> #</span><span style="color:#008000;"> now = time.time()</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(now - start_time)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> struct_time = time.gmtime(now - start_time)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(struct_time.tm_year - 1970)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(struct_time.tm_mon - 1)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(struct_time.tm_mday - 1)</span> <span style="color:#008000;">#</span><span style="color:#008000;"> import time</span><span style="color:#008000;"> #</span><span style="color:#008000;"> true_time=time.mktime(time.strptime('2017-09-11 11:30:00','%Y-%m-%d %H:%M:%S'))</span><span style="color:#008000;"> #</span><span style="color:#008000;"> time_now=time.mktime(time.strptime('2017-09-12 10:00:06','%Y-%m-%d %H:%M:%S'))</span><span style="color:#008000;"> #</span><span style="color:#008000;"> dif_time=time_now-true_time</span><span style="color:#008000;"> #</span><span style="color:#008000;"> struct_time=time.gmtime(dif_time)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1,</span><span style="color:#008000;"> #</span><span style="color:#008000;"> struct_time.tm_mday-1,struct_time.tm_hour,</span><span style="color:#008000;"> #</span><span style="color:#008000;"> struct_time.tm_min,struct_time.tm_sec))</span></pre> </div> <span class="cnblogs_code_collapse">View Code</span> </div> <p> 常用方法:</p> <div class="cnblogs_code"> <img id="code_img_closed_0cd98904-8a5d-409a-8507-5389207bd6e8" class="code_img_closed" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" alt="" width="0" height="0"> <img id="code_img_opened_0cd98904-8a5d-409a-8507-5389207bd6e8" class="code_img_opened" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" alt="" width="0" height="0"> <div id="cnblogs_code_open_0cd98904-8a5d-409a-8507-5389207bd6e8" class="cnblogs_code_hide"> <pre><span style="color:#008000;">#</span><span style="color:#008000;">常用方法</span> 1<span style="color:#000000;">.time.sleep(secs) (线程)推迟指定的时间运行。单位为秒。 </span>2<span style="color:#000000;">.time.time() 获取当前时间戳</span></pre> </div> <span class="cnblogs_code_collapse">View Code</span> </div> <p><strong>表示时间的三种方式</strong></p> <p>在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:</p> <p>(1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。</p> <p>(2)格式化的时间字符串(Format String): ‘1999-12-06’</p> <div class="cnblogs_code"> <img id="code_img_closed_c6d1f3f2-8849-4b83-a3e8-1f9e70b55c85" class="code_img_closed" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" alt="" width="0" height="0"> <img id="code_img_opened_c6d1f3f2-8849-4b83-a3e8-1f9e70b55c85" class="code_img_opened" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" alt="" width="0" height="0"> <div id="cnblogs_code_open_c6d1f3f2-8849-4b83-a3e8-1f9e70b55c85" class="cnblogs_code_hide"> <pre>%y 两位数的年份表示(00-99<span style="color:#000000;">) </span>%Y 四位数的年份表示(000-9999<span style="color:#000000;">) </span>%m 月份(01-12<span style="color:#000000;">) </span>%d 月内中的一天(0-31<span style="color:#000000;">) </span>%H 24小时制小时数(0-23<span style="color:#000000;">) </span>%I 12小时制小时数(01-12<span style="color:#000000;">) </span>%M 分钟数(00=59<span style="color:#000000;">) </span>%S 秒(00-59<span style="color:#000000;">) </span>%<span style="color:#000000;">a 本地简化星期名称 </span>%<span style="color:#000000;">A 本地完整星期名称 </span>%<span style="color:#000000;">b 本地简化的月份名称 </span>%<span style="color:#000000;">B 本地完整的月份名称 </span>%<span style="color:#000000;">c 本地相应的日期表示和时间表示 </span>%j 年内的一天(001-366<span style="color:#000000;">) </span>%<span style="color:#000000;">p 本地A.M.或P.M.的等价符 </span>%U 一年中的星期数(00-53<span style="color:#000000;">)星期天为星期的开始 </span>%w 星期(0-6<span style="color:#000000;">),星期天为星期的开始 </span>%W 一年中的星期数(00-53<span style="color:#000000;">)星期一为星期的开始 </span>%<span style="color:#000000;">x 本地相应的日期表示 </span>%<span style="color:#000000;">X 本地相应的时间表示 </span>%<span style="color:#000000;">Z 当前时区的名称 </span>%% %<span style="color:#000000;">号本身 python中时间日期格式化符号:</span></pre> </div> <span class="cnblogs_code_collapse">View Code</span> </div> <p> </p> <p>(3)元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)</p> <p> </p> <table border="1"> <tbody> <tr> <th>索引(Index)</th> <th>属性(Attribute)</th> <th>值(Values)</th> </tr> <tr> <td>0</td> <td>tm_year(年)</td> <td>比如2011</td> </tr> <tr> <td>1</td> <td>tm_mon(月)</td> <td>1 - 12</td> </tr> <tr> <td>2</td> <td>tm_mday(日)</td> <td>1 - 31</td> </tr> <tr> <td>3</td> <td>tm_hour(时)</td> <td>0 - 23</td> </tr> <tr> <td>4</td> <td>tm_min(分)</td> <td>0 - 59</td> </tr> <tr> <td>5</td> <td>tm_sec(秒)</td> <td>0 - 60</td> </tr> <tr> <td>6</td> <td>tm_wday(weekday)</td> <td>0 - 6(0表示周一)</td> </tr> <tr> <td>7</td> <td>tm_yday(一年中的第几天)</td> <td>1 - 366</td> </tr> <tr> <td>8</td> <td>tm_isdst(是否是夏令时)</td> <td>默认为0<br><br></td> </tr> </tbody> </table> <p> </p> <p><span style="font-size:14pt;">时间戳-结构化时间-格式化时间</span></p> <p><img src="http://img.e-com-net.com/image/info8/3b069a6deb484a31bb9f53682ea459a6.jpg" alt="" width="0" height="0"></p> <p><span style="font-size:14pt;">三者的互相转换:</span></p> <p><span style="font-size:14pt;"> </span></p> <div class="cnblogs_code"> <pre>从时间字符串到时间戳之间的互逆转换(一般我们用到的两种格式,要么是时间字符串,要么就是时间戳,一般用时间戳比较方便,便于在数据库查询中做条件筛选,<br>前后端交互时前端传过来的有可能是格式化的时间字符串,还有可能是时间戳)<br><br>这是从“<span style="font-size:14pt;"><strong>时间</strong></span><span style="font-size:18px;"><strong>字符串--结构化时间--时间戳</strong></span>”的过程<br>time_str = <span style="color:#800000;">"</span><span style="color:#800000;">2019-2-20 12:23:43</span><span style="color:#800000;">"</span><span style="color:#000000;"> format_time_str </span>= time.strptime(time_str, <span style="color:#800000;">"</span><span style="color:#800000;">%Y-%m-%d %H:%M:%S</span><span style="color:#800000;">"</span><span style="color:#000000;">) </span><span style="color:#0000ff;">print</span>(time.mktime(format_time_str)) # 1550636623.0<br><br>这是从“<strong><span style="font-size:14pt;">时间戳--结构化时间--时间字符串</span>”<br></strong></pre> <pre>timeStamp = 1550636623.0<br>structTime = time.gmtime(timeStamp)/time.localtime(timeStamp) {gmtime是英国伦敦的时间,相较于localtime本地时间,晚8个小时的时差,在结构上和格式转换上两个都可以用}<br>print(time.strftime("%Y-%m-%d %H:%M:%S", structTime)) # 2019-02-20 04:23:43</pre> <pre><strong> </strong></pre> </div> <p> </p> <div class="cnblogs_code"> <img id="code_img_closed_b81e8902-a18d-4c48-a98a-2b9bb27c9f3a" class="code_img_closed" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" alt="" width="0" height="0"> <img id="code_img_opened_b81e8902-a18d-4c48-a98a-2b9bb27c9f3a" class="code_img_opened" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" alt="" width="0" height="0"> <div id="cnblogs_code_open_b81e8902-a18d-4c48-a98a-2b9bb27c9f3a" class="cnblogs_code_hide"> <pre><span style="color:#008000;">#</span><span style="color:#008000;">导入时间模块</span> >>><span style="color:#0000ff;">import</span><span style="color:#000000;"> time </span><span style="color:#008000;">#</span><span style="color:#008000;">时间戳</span> >>><span style="color:#000000;">time.time() </span>1500875844.800804 <span style="color:#008000;">#</span><span style="color:#008000;">时间字符串</span> >>>time.strftime(<span style="color:#800000;">"</span><span style="color:#800000;">%Y-%m-%d %X</span><span style="color:#800000;">"</span><span style="color:#000000;">) </span><span style="color:#800000;">'</span><span style="color:#800000;">2017-07-24 13:54:37</span><span style="color:#800000;">'</span> >>>time.strftime(<span style="color:#800000;">"</span><span style="color:#800000;">%Y-%m-%d %H-%M-%S</span><span style="color:#800000;">"</span><span style="color:#000000;">) </span><span style="color:#800000;">'</span><span style="color:#800000;">2017-07-24 13-55-04</span><span style="color:#800000;">'</span> <span style="color:#008000;">#</span><span style="color:#008000;">时间元组:localtime将一个时间戳转换为当前时区的struct_time</span> <span style="color:#000000;">time.localtime() time.struct_time(tm_year</span>=2017, tm_mon=7, tm_mday=24<span style="color:#000000;">,           tm_hour</span>=13, tm_min=59, tm_sec=37<span style="color:#000000;">, tm_wday</span>=0, tm_yday=205, tm_isdst=0)</pre> </div> <span class="cnblogs_code_collapse">格式互换</span> </div> <div class="cnblogs_code"> <img id="code_img_closed_6ab8b06b-a02f-428d-a9be-d51b96e69fe7" class="code_img_closed" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" alt="" width="0" height="0"> <img id="code_img_opened_6ab8b06b-a02f-428d-a9be-d51b96e69fe7" class="code_img_opened" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" alt="" width="0" height="0"> <div id="cnblogs_code_open_6ab8b06b-a02f-428d-a9be-d51b96e69fe7" class="cnblogs_code_hide"> <pre><span style="color:#008000;">#</span><span style="color:#008000;">时间戳-->结构化时间</span><span style="color:#008000;"> #</span><span style="color:#008000;">time.gmtime(时间戳) #UTC时间,与英国伦敦当地时间一致</span><span style="color:#008000;"> #</span><span style="color:#008000;">time.localtime(时间戳) #当地时间。例如我们现在在北京执行这个方法:与UTC时间相差8小时,UTC时间+8小时 = 北京时间 </span> >>>time.gmtime(1500000000<span style="color:#000000;">) time.struct_time(tm_year</span>=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=<span style="color:#000000;">0) </span>>>>time.localtime(1500000000<span style="color:#000000;">) time.struct_time(tm_year</span>=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=<span style="color:#000000;">0) </span><span style="color:#008000;">#</span><span style="color:#008000;">结构化时间-->时间戳 </span><span style="color:#008000;"> #</span><span style="color:#008000;">time.mktime(结构化时间)</span> >>>time_tuple = time.localtime(1500000000<span style="color:#000000;">) </span>>>><span style="color:#000000;">time.mktime(time_tuple) </span>1500000000.0</pre> </div> <span class="cnblogs_code_collapse">格式转换</span> </div> <div class="cnblogs_code"> <img id="code_img_closed_a6541596-4f8f-43d4-8073-d4d1d75f0a52" class="code_img_closed" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" alt="" width="0" height="0"> <img id="code_img_opened_a6541596-4f8f-43d4-8073-d4d1d75f0a52" class="code_img_opened" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" alt="" width="0" height="0"> <div id="cnblogs_code_open_a6541596-4f8f-43d4-8073-d4d1d75f0a52" class="cnblogs_code_hide"> <pre><span style="color:#008000;">#</span><span style="color:#008000;">结构化时间-->字符串时间</span><span style="color:#008000;"> #</span><span style="color:#008000;">time.strftime("格式定义","结构化时间") 结构化时间参数若不传,则现实当前时间</span> >>>time.strftime(<span style="color:#800000;">"</span><span style="color:#800000;">%Y-%m-%d %X</span><span style="color:#800000;">"</span><span style="color:#000000;">) </span><span style="color:#800000;">'</span><span style="color:#800000;">2017-07-24 14:55:36</span><span style="color:#800000;">'</span> >>>time.strftime(<span style="color:#800000;">"</span><span style="color:#800000;">%Y-%m-%d</span><span style="color:#800000;">"</span>,time.localtime(1500000000<span style="color:#000000;">)) </span><span style="color:#800000;">'</span><span style="color:#800000;">2017-07-14</span><span style="color:#800000;">'</span> <span style="color:#008000;">#</span><span style="color:#008000;">字符串时间-->结构化时间</span><span style="color:#008000;"> #</span><span style="color:#008000;">time.strptime(时间字符串,字符串对应格式)</span> >>>time.strptime(<span style="color:#800000;">"</span><span style="color:#800000;">2017-03-16</span><span style="color:#800000;">"</span>,<span style="color:#800000;">"</span><span style="color:#800000;">%Y-%m-%d</span><span style="color:#800000;">"</span><span style="color:#000000;">) time.struct_time(tm_year</span>=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1<span style="color:#000000;">) </span>>>>time.strptime(<span style="color:#800000;">"</span><span style="color:#800000;">07/24/2017</span><span style="color:#800000;">"</span>,<span style="color:#800000;">"</span><span style="color:#800000;">%m/%d/%Y</span><span style="color:#800000;">"</span><span style="color:#000000;">) time.struct_time(tm_year</span>=2017, tm_mon=7, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=205, tm_isdst=-1)</pre> </div> <span class="cnblogs_code_collapse">格式转换</span> </div> <div class="cnblogs_code"> <img id="code_img_closed_cc38b348-2fa3-4207-953d-cbdded1cbf01" class="code_img_closed" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" alt="" width="0" height="0"> <img id="code_img_opened_cc38b348-2fa3-4207-953d-cbdded1cbf01" class="code_img_opened" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" alt="" width="0" height="0"> <div id="cnblogs_code_open_cc38b348-2fa3-4207-953d-cbdded1cbf01" class="cnblogs_code_hide"> <pre><span style="color:#008000;">#</span><span style="color:#008000;">结构化时间 --> %a %b %d %H:%M:%S %Y串</span><span style="color:#008000;"> #</span><span style="color:#008000;">time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串</span> >>>time.asctime(time.localtime(1500000000<span style="color:#000000;">)) </span><span style="color:#800000;">'</span><span style="color:#800000;">Fri Jul 14 10:40:00 2017</span><span style="color:#800000;">'</span> >>><span style="color:#000000;">time.asctime() </span><span style="color:#800000;">'</span><span style="color:#800000;">Mon Jul 24 15:18:33 2017</span><span style="color:#800000;">'</span> <span style="color:#008000;">#</span><span style="color:#008000;">时间戳 --> %a %d %d %H:%M:%S %Y串</span><span style="color:#008000;"> #</span><span style="color:#008000;">time.ctime(时间戳) 如果不传参数,直接返回当前时间的格式化串</span> >>><span style="color:#000000;">time.ctime() </span><span style="color:#800000;">'</span><span style="color:#800000;">Mon Jul 24 15:19:07 2017</span><span style="color:#800000;">'</span> >>>time.ctime(1500000000<span style="color:#000000;">) </span><span style="color:#800000;">'</span><span style="color:#800000;">Fri Jul 14 10:40:00 2017</span><span style="color:#800000;">'</span></pre> </div> <span class="cnblogs_code_collapse">转换</span> </div> <p> </p> <div class="cnblogs_code"> <img id="code_img_closed_380d2e6c-5307-4022-bf7a-e553fd0e7654" class="code_img_closed" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" alt="" width="0" height="0"> <img id="code_img_opened_380d2e6c-5307-4022-bf7a-e553fd0e7654" class="code_img_opened" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" alt="" width="0" height="0"> <div id="cnblogs_code_open_380d2e6c-5307-4022-bf7a-e553fd0e7654" class="cnblogs_code_hide"> <pre><span style="color:#0000ff;">import</span><span style="color:#000000;"> time true_time</span>=time.mktime(time.strptime(<span style="color:#800000;">'</span><span style="color:#800000;">2017-09-11 08:30:00</span><span style="color:#800000;">'</span>,<span style="color:#800000;">'</span><span style="color:#800000;">%Y-%m-%d %H:%M:%S</span><span style="color:#800000;">'</span><span style="color:#000000;">)) time_now</span>=time.mktime(time.strptime(<span style="color:#800000;">'</span><span style="color:#800000;">2017-09-12 11:00:00</span><span style="color:#800000;">'</span>,<span style="color:#800000;">'</span><span style="color:#800000;">%Y-%m-%d %H:%M:%S</span><span style="color:#800000;">'</span><span style="color:#000000;">)) dif_time</span>=time_now-<span style="color:#000000;">true_time struct_time</span>=<span style="color:#000000;">time.gmtime(dif_time) </span><span style="color:#0000ff;">print</span>(<span style="color:#800000;">'</span><span style="color:#800000;">过去了%d年%d月%d天%d小时%d分钟%d秒</span><span style="color:#800000;">'</span>%(struct_time.tm_year-1970,struct_time.tm_mon-1<span style="color:#000000;">, struct_time.tm_mday</span>-1<span style="color:#000000;">,struct_time.tm_hour, struct_time.tm_min,struct_time.tm_sec)) 计算时间差</span></pre> </div> <span class="cnblogs_code_collapse">计算时间差</span> </div> <p> </p> <p><span style="font-size:18px;">datetime模块:</span></p> <p> </p> <div class="cnblogs_code"> <pre><span style="color:#0000ff;">import</span><span style="color:#000000;"> datetime </span><span style="color:#0000ff;">print</span>(datetime.datetime.now()) <span style="color:#008000;">#</span><span style="color:#008000;"> 获取当前时间,直接得到年月日时分秒的格式结果</span> <span style="color:#0000ff;">print</span>(datetime.datetime.now()+datetime.timedelta(days=2<span style="color:#000000;">)) </span><span style="color:#008000;">#</span><span style="color:#008000;"> 得到当前时间两天后的时间,用-2得到当前时间两天前的时间</span> <span style="color:#0000ff;">print</span>(datetime.datetime.now()+datetime.timedelta(hours=-2<span style="color:#000000;">)) </span><span style="color:#008000;">#</span><span style="color:#008000;"> 得到当前时间两个小时前的时间,用2得到当前时间两个小时后的时间</span> <span style="color:#0000ff;">print</span>(datetime.datetime.now()+datetime.timedelta(minutes=5<span style="color:#000000;">)) </span><span style="color:#008000;">#</span><span style="color:#008000;"> 得到当前时间5分钟后的时间,用-5得到当前时间5分钟前的时间</span> <span style="color:#0000ff;">print</span>(datetime.datetime.now()+datetime.timedelta(seconds=30<span style="color:#000000;">)) </span><span style="color:#008000;">#</span><span style="color:#008000;"> 得到当前时间30秒后的时间,换成-30就是当前时间30秒前的时间</span> <span style="color:#008000;">#</span><span style="color:#008000;"> 写项目时会有需要得出当前时间前/后日/时/分/秒的结果,这个模块最大的时间单位是天,day,没有月年</span></pre> </div> <p> </p> <p> </p> <p>sys模块:</p> <p> </p> <div class="cnblogs_code"> <img id="code_img_closed_88f055b6-7700-49d4-b551-7bb91ca11798" class="code_img_closed" src="http://img.e-com-net.com/image/info8/b8d97b5613f94ed2ba791cad57d0b2ed.gif" alt="" width="0" height="0"> <img id="code_img_opened_88f055b6-7700-49d4-b551-7bb91ca11798" class="code_img_opened" src="http://img.e-com-net.com/image/info8/2f88dd3f1cd145f59c0e47b51acdbd4b.gif" alt="" width="0" height="0"> <div id="cnblogs_code_open_88f055b6-7700-49d4-b551-7bb91ca11798" class="cnblogs_code_hide"> <pre><span style="color:#0000ff;">import</span><span style="color:#000000;"> sys </span><span style="color:#008000;">#</span><span style="color:#008000;"> print(sys.platform)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> print(sys.version)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> sys.exit(0)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> sys.exit(1)</span> <span style="color:#008000;">#</span><span style="color:#008000;"> print(sys.path)</span><span style="color:#008000;"> #</span><span style="color:#008000;"> 就是模块导入的时候从这个列表中的路径依次去寻找模块</span><span style="color:#008000;"> #</span><span style="color:#008000;"> 找到了就停止</span><span style="color:#008000;"> #</span><span style="color:#008000;"> sys.path的第一位元素是当前被执行的python文件所在的地址</span><span style="color:#008000;"> #</span><span style="color:#008000;"> 之后的地址依次是python内部的库</span> <span style="color:#0000ff;">print</span><span style="color:#000000;">(sys.argv) </span><span style="color:#008000;">#</span><span style="color:#008000;">python 6sys.py</span><span style="color:#008000;"> #</span><span style="color:#008000;">python 6sys.py alex 3714</span> args_lst = sys.argv <span style="color:#008000;">#</span><span style="color:#008000;">['6sys.py', 'alex', '3714']</span> <span style="color:#0000ff;">if</span> len(args_lst) ==3 <span style="color:#0000ff;">and</span> args_lst[1] == <span style="color:#800000;">'</span><span style="color:#800000;">alex</span><span style="color:#800000;">'</span> <span style="color:#0000ff;">and</span> args_lst[2] == <span style="color:#800000;">'</span><span style="color:#800000;">3714</span><span style="color:#800000;">'</span><span style="color:#000000;">: </span><span style="color:#0000ff;">print</span>(<span style="color:#800000;">'</span><span style="color:#800000;">执行程序了</span><span style="color:#800000;">'</span><span style="color:#000000;">) </span><span style="color:#0000ff;">else</span><span style="color:#000000;">: sys.exit() </span><span style="color:#008000;">#</span><span style="color:#008000;">sys.argv的第一个值是固定的的,就是这个文件的名字</span><span style="color:#008000;"> #</span><span style="color:#008000;">之后的参数 是在控制台执行py文件的时候传入的参数 python 6sys.py alex 3714</span><span style="color:#008000;"> #</span><span style="color:#008000;">我们可以用这些参数来直接完成一些校验类的工作</span></pre> </div> <span class="cnblogs_code_collapse">View Code</span> </div> <p> </p> </div> <p>转载于:https://www.cnblogs.com/2012-dream/p/7832568.html</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1281365154793013248"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(day20 模块-sys,time,collection)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835513699826233344.htm" title="android系统selinux中添加新属性property" target="_blank">android系统selinux中添加新属性property</a> <span class="text-muted">辉色投像</span> <div>1.定位/android/system/sepolicy/private/property_contexts声明属性开头:persist.charge声明属性类型:u:object_r:system_prop:s0图12.定位到android/system/sepolicy/public/domain.te删除neverallow{domain-init}default_prop:property</div> </li> <li><a href="/article/1835513424734416896.htm" title="UI学习——cell的复用和自定义cell" target="_blank">UI学习——cell的复用和自定义cell</a> <span class="text-muted">Magnetic_h</span> <a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>目录cell的复用手动(非注册)自动(注册)自定义cellcell的复用在iOS开发中,单元格复用是一种提高表格(UITableView)和集合视图(UICollectionView)滚动性能的技术。当一个UITableViewCell或UICollectionViewCell首次需要显示时,如果没有可复用的单元格,则视图会创建一个新的单元格。一旦这个单元格滚动出屏幕,它就不会被销毁。相反,它被添</div> </li> <li><a href="/article/1835509769822105600.htm" title="LocalDateTime 转 String" target="_blank">LocalDateTime 转 String</a> <span class="text-muted">igotyback</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>importjava.time.LocalDateTime;importjava.time.format.DateTimeFormatter;publicclassMain{publicstaticvoidmain(String[]args){//获取当前时间LocalDateTimenow=LocalDateTime.now();//定义日期格式化器DateTimeFormatterformat</div> </li> <li><a href="/article/1835509391361667072.htm" title="Linux下QT开发的动态库界面弹出操作(SDL2)" target="_blank">Linux下QT开发的动态库界面弹出操作(SDL2)</a> <span class="text-muted">13jjyao</span> <a class="tag" taget="_blank" href="/search/QT%E7%B1%BB/1.htm">QT类</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/sdl2/1.htm">sdl2</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>需求:操作系统为linux,开发框架为qt,做成需带界面的qt动态库,调用方为java等非qt程序难点:调用方为java等非qt程序,也就是说调用方肯定不带QApplication::exec(),缺少了这个,QTimer等事件和QT创建的窗口将不能弹出(包括opencv也是不能弹出);这与qt调用本身qt库是有本质的区别的思路:1.调用方缺QApplication::exec(),那么我们在接口</div> </li> <li><a href="/article/1835506236842405888.htm" title="C#中使用split分割字符串" target="_blank">C#中使用split分割字符串</a> <span class="text-muted">互联网打工人no1</span> <a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a> <div>1、用字符串分隔:usingSystem.Text.RegularExpressions;stringstr="aaajsbbbjsccc";string[]sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);foreach(stringiinsArray)Response.Write(i.ToString()+"");输出结果:aaabbbc</div> </li> <li><a href="/article/1835489207716507648.htm" title="基于CODESYS的多轴运动控制程序框架:逻辑与运动控制分离,快速开发灵活操作" target="_blank">基于CODESYS的多轴运动控制程序框架:逻辑与运动控制分离,快速开发灵活操作</a> <span class="text-muted">GPJnCrbBdl</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>基于codesys开发的多轴运动控制程序框架,将逻辑与运动控制分离,将单轴控制封装成功能块,对该功能块的操作包含了所有的单轴控制(归零、点动、相对定位、绝对定位、设置当前位置、伺服模式切换等等)。程序框架由主程序按照状态调用分归零模式、手动模式、自动模式、故障模式,程序状态的跳转都已完成,只需要根据不同的工艺要求完成所需的动作即可。变量的声明、地址的规划都严格按照C++的标准定义,能帮助开发者快速</div> </li> <li><a href="/article/1835479758033481728.htm" title="SpringBlade dict-biz/list 接口 SQL 注入漏洞" target="_blank">SpringBlade dict-biz/list 接口 SQL 注入漏洞</a> <span class="text-muted">文章永久免费只为良心</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>SpringBladedict-biz/list接口SQL注入漏洞POC:构造请求包查看返回包你的网址/api/blade-system/dict-biz/list?updatexml(1,concat(0x7e,md5(1),0x7e),1)=1漏洞概述在SpringBlade框架中,如果dict-biz/list接口的后台处理逻辑没有正确地对用户输入进行过滤或参数化查询(PreparedSta</div> </li> <li><a href="/article/1835476983614631936.htm" title="Python开发常用的三方模块如下:" target="_blank">Python开发常用的三方模块如下:</a> <span class="text-muted">换个网名有点难</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Python是一门功能强大的编程语言,拥有丰富的第三方库,这些库为开发者提供了极大的便利。以下是100个常用的Python库,涵盖了多个领域:1、NumPy,用于科学计算的基础库。2、Pandas,提供数据结构和数据分析工具。3、Matplotlib,一个绘图库。4、Scikit-learn,机器学习库。5、SciPy,用于数学、科学和工程的库。6、TensorFlow,由Google开发的开源机</div> </li> <li><a href="/article/1835475216080400384.htm" title="openssl+keepalived安装部署" target="_blank">openssl+keepalived安装部署</a> <span class="text-muted">_小亦_</span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2/1.htm">项目部署</a><a class="tag" taget="_blank" href="/search/keepalived/1.htm">keepalived</a><a class="tag" taget="_blank" href="/search/openssl/1.htm">openssl</a> <div>文章目录OpenSSL安装下载地址编译安装修改系统配置版本Keepalived安装下载地址安装遇到问题安装完成配置文件keepalived运行检查运行状态查看系统日志修改服务service重新加载systemd检查配置文件语法错误OpenSSL安装下载地址考虑到后面设备可能没法连接到外网,所以采用安装包的方式进行部署,下载地址:https://www.openssl.org/source/old/</div> </li> <li><a href="/article/1835470932295118848.htm" title="CentOS的根目录下,/bin 和 /sbin 用途和权限" target="_blank">CentOS的根目录下,/bin 和 /sbin 用途和权限</a> <span class="text-muted">Energet!c</span> <a class="tag" taget="_blank" href="/search/Linux%E6%97%A5%E5%B8%B8/1.htm">Linux日常</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>CentOS的根目录下,/bin和/sbin用途和权限一、/bin(Binary)二、/sbin(SystemBinary)三、总结在CentOS的根目录下,/bin和/sbin目录有不同的用途和权限一、/bin(Binary)用途:存放系统的基本命令,这些命令对所有用户都是可用的。例如:ls、cp、mv、rm等。权限:普通用户和系统管理员都可以使用这些命令。二、/sbin(SystemBinar</div> </li> <li><a href="/article/1835463875160535040.htm" title="用Python实现读取统计单词个数" target="_blank">用Python实现读取统计单词个数</a> <span class="text-muted">程序媛了了</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>完整实例代码:fromcollectionsimportCounterdefpythonit():danci={}withopen("pythonit.txt","r",encoding="utf-8")asf:foriinf:words=i.strip().split()forwordinwords:ifwordnotindanci:danci[word]=1else:danci[word]+=</div> </li> <li><a href="/article/1835447985601867776.htm" title="Mongodb Error: queryTxt ETIMEOUT xxxx.wwwdz.mongodb.net" target="_blank">Mongodb Error: queryTxt ETIMEOUT xxxx.wwwdz.mongodb.net</a> <span class="text-muted">佛一脚</span> <a class="tag" taget="_blank" href="/search/error/1.htm">error</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>背景每天都能遇到奇怪的问题,做个记录,以便有缘人能得到帮助!换了一台电脑开发nextjs程序。需要连接mongodb数据,对数据进行增删改查。上一台电脑好好的程序,新电脑死活连不上mongodb数据库。同一套代码,没任何修改,搞得我怀疑人生了,打开浏览器进入mongodb官网毫无问题,也能进入线上系统查看数据,网络应该是没问题。于是我尝试了一下手机热点,这次代码能正常跑起来,连接数据库了!!!是不</div> </li> <li><a href="/article/1835447859219099648.htm" title="06选课支付模块之基于消息队列发送支付通知消息" target="_blank">06选课支付模块之基于消息队列发送支付通知消息</a> <span class="text-muted">echo 云清</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E6%88%90%E5%9C%A8%E7%BA%BF/1.htm">学成在线</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/1.htm">消息队列</a><a class="tag" taget="_blank" href="/search/%E6%94%AF%E4%BB%98%E9%80%9A%E7%9F%A5/1.htm">支付通知</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E6%88%90%E5%9C%A8%E7%BA%BF/1.htm">学成在线</a> <div>消息队列发送支付通知消息需求分析订单服务作为通用服务,在订单支付成功后需要将支付结果异步通知给其他对接的微服务,微服务收到支付结果根据订单的类型去更新自己的业务数据技术方案使用消息队列进行异步通知需要保证消息的可靠性即生产端将消息成功通知到服务端:消息发送到交换机-->由交换机发送到队列-->消费者监听队列,收到消息进行处理,参考文章02-使用Docker安装RabbitMQ-CSDN博客生产者确</div> </li> <li><a href="/article/1835443569528238080.htm" title="Vue( ElementUI入门、vue-cli安装)" target="_blank">Vue( ElementUI入门、vue-cli安装)</a> <span class="text-muted">m0_l5z</span> <a class="tag" taget="_blank" href="/search/elementui/1.htm">elementui</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>一.ElementUI入门目录:1.ElementUI入门1.1ElementUI简介1.2Vue+ElementUI安装1.3开发示例2.搭建nodejs环境2.1nodejs介绍2.2npm是什么2.3nodejs环境搭建2.3.1下载2.3.2解压2.3.3配置环境变量2.3.4配置npm全局模块路径和cache默认安装位置2.3.5修改npm镜像提高下载速度2.3.6验证安装结果3.运行n</div> </li> <li><a href="/article/1835443569968640000.htm" title="Spring MVC 全面指南:从入门到精通的详细解析" target="_blank">Spring MVC 全面指南:从入门到精通的详细解析</a> <span class="text-muted">一杯梅子酱</span> <a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E6%A0%88%E5%AD%A6%E4%B9%A0/1.htm">技术栈学习</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>引言:SpringMVC,作为Spring框架的一个重要模块,为构建Web应用提供了强大的功能和灵活性。无论是初学者还是有一定经验的开发者,掌握SpringMVC都将显著提升你的Web开发技能。本文旨在为初学者提供一个全面且易于理解的学习路径,通过详细的知识点分析和实际案例,帮助你快速上手SpringMVC,让学习过程既深刻又高效。一、SpringMVC简介1.1什么是SpringMVC?Spri</div> </li> <li><a href="/article/1835438406776221696.htm" title="[Unity]在场景中随机生成不同位置且不重叠的物体" target="_blank">[Unity]在场景中随机生成不同位置且不重叠的物体</a> <span class="text-muted">Bartender_Jill</span> <a class="tag" taget="_blank" href="/search/Graphics%E5%9B%BE%E5%BD%A2%E5%AD%A6%E7%AC%94%E8%AE%B0/1.htm">Graphics图形学笔记</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E7%94%BB/1.htm">动画</a> <div>1.前言最近任务需要用到Unity在场景中随机生成物体,且这些物体不能重叠,简单记录一下。参考资料:Howtoensurethatspawnedtargetsdonotoverlap?2.结果与代码结果如下所示:代码如下所示:usingSystem.Collections.Generic;usingUnityEngine;namespaceAssets.Scripts{publicclassNew</div> </li> <li><a href="/article/1835434126874865664.htm" title="ubuntu安装wordpress" target="_blank">ubuntu安装wordpress</a> <span class="text-muted">lissettecarlr</span> <div>1安装nginx网上安装方式很多,这就就直接用apt-get了apt-getinstallnginx不用启动啥,然后直接在浏览器里面输入IP:80就能看到nginx的主页了。如果修改了一些配置可以使用下列命令重启一下systemctlrestartnginx.service2安装mysql输入安装前也可以更新一下软件源,在安装过程中将会让你输入数据库的密码。sudoapt-getinstallmy</div> </li> <li><a href="/article/1835432106029838336.htm" title="【RabbitMQ 项目】服务端:数据管理模块之绑定管理" target="_blank">【RabbitMQ 项目】服务端:数据管理模块之绑定管理</a> <span class="text-muted">月夜星辉雪</span> <a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>文章目录一.编写思路二.代码实践一.编写思路定义绑定信息类交换机名称队列名称绑定关键字:交换机的路由交换算法中会用到没有是否持久化的标志,因为绑定是否持久化取决于交换机和队列是否持久化,只有它们都持久化时绑定才需要持久化。绑定就好像一根绳子,两端连接着交换机和队列,当一方不存在,它就没有存在的必要了定义绑定持久化类构造函数:如果数据库文件不存在则创建,打开数据库,创建binding_table插入</div> </li> <li><a href="/article/1835431727397433344.htm" title="进销存小程序源码 PHP网络版ERP进销存管理系统 全开源可二开" target="_blank">进销存小程序源码 PHP网络版ERP进销存管理系统 全开源可二开</a> <span class="text-muted">摸鱼小号</span> <a class="tag" taget="_blank" href="/search/php/1.htm">php</a> <div>可直接源码搭建部署发布后使用:一、功能模块介绍该系统模板主要有进,销,存三个主要模板功能组成,下面将介绍各模块所对应的功能;进:需要将产品采购入库,自动生成采购明细台账同时关联财务生成付款账单;销:是指对客户的销售订单记录,汇总生成产品销售明细及回款计划;存:库存的日常盘点与统计,库存下限预警、出入库台账、库存位置等。1.进购管理采购订单:采购下单审批→由上级审批通过采购入库;采购入库:货品到货></div> </li> <li><a href="/article/1835430719363575808.htm" title="更改npm镜像源为淘宝镜像" target="_blank">更改npm镜像源为淘宝镜像</a> <span class="text-muted">骆小骆</span> <a class="tag" taget="_blank" href="/search/%E5%9F%BA%E4%BA%8Enode.js/1.htm">基于node.js</a> <div>npm常用指令后缀*最近复习了一下node.js整理了一下跟node.js相关的指令后缀*--save、-S参数意思是把模块的版本信息保存到dependencies(生产环境依赖)中,即你的package.json文件的dependencies字段中;–--save-dev、-D参数意思是把模块版本信息保存到devDependencies(开发环境依赖)中,即你的package.json文件的de</div> </li> <li><a href="/article/1835429202871021568.htm" title="Python 课程10-单元测试" target="_blank">Python 课程10-单元测试</a> <span class="text-muted">可愛小吉</span> <a class="tag" taget="_blank" href="/search/Python%E6%95%99%E5%AD%B8/1.htm">Python教學</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/TDD/1.htm">TDD</a><a class="tag" taget="_blank" href="/search/unittest/1.htm">unittest</a> <div>前言在现代软件开发中,单元测试已成为一种必不可少的实践。通过测试,我们可以确保每个功能模块在开发和修改过程中按预期工作,从而减少软件缺陷,提高代码质量。而测试驱动开发(TDD)则进一步将测试作为开发的核心部分,先编写测试,再编写代码,以测试为指导开发出更稳定、更可靠的代码。Python提供了强大的unittest模块,它是Python标准库的一部分,专门用于编写和执行单元测试。与其他测试框架相比,</div> </li> <li><a href="/article/1835428695603507200.htm" title="RabbitMQ生产者重复机制与确认机制" target="_blank">RabbitMQ生产者重复机制与确认机制</a> <span class="text-muted">java炒饭小能手</span> <a class="tag" taget="_blank" href="/search/java-rabbitmq/1.htm">java-rabbitmq</a><a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>重复机制生产者发送消息时,出现了网络故障,导致与MQ的连接中断。为了解决这个问题,SpringAMQP提供的消息发送时的重试机制。即:当RabbitTemplate与MQ连接超时后,多次重试。需要修该发送端模块的application.yaml文件,添加下面的内容:spring:rabbitmq:connection-timeout:1s#设置MQ的连接超时时间template:retry:ena</div> </li> <li><a href="/article/1835428317084348416.htm" title="最简单将静态网页挂载到服务器上(不用nginx)" target="_blank">最简单将静态网页挂载到服务器上(不用nginx)</a> <span class="text-muted">全能全知者</span> <a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>最简单将静态网页挂载到服务器上(不用nginx)如果随便弄个静态网页挂在服务器都要用nignx就太麻烦了,所以直接使用Apache来搭建一些简单前端静态网页会相对方便很多检查Web服务器服务状态:sudosystemctlstatushttpd#ApacheWeb服务器如果发现没有安装web服务器:安装Apache:sudoyuminstallhttpd启动Apache:sudosystemctl</div> </li> <li><a href="/article/1835420248896008192.htm" title="使用由 Python 编写的 lxml 实现高性能 XML 解析" target="_blank">使用由 Python 编写的 lxml 实现高性能 XML 解析</a> <span class="text-muted">hunyxv</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>转载自:文章lxml简介Python从来不出现XML库短缺的情况。从2.0版本开始,它就附带了xml.dom.minidom和相关的pulldom以及SimpleAPIforXML(SAX)模块。从2.4开始,它附带了流行的ElementTreeAPI。此外,很多第三方库可以提供更高级别的或更具有python风格的接口。尽管任何XML库都足够处理简单的DocumentObjectModel(DOM</div> </li> <li><a href="/article/1835417601514237952.htm" title="【Python】已解决:ModuleNotFoundError: No module named ‘PIL’" target="_blank">【Python】已解决:ModuleNotFoundError: No module named ‘PIL’</a> <span class="text-muted">屿小夏</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>文章目录一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项已解决:ModuleNotFoundError:Nomodulenamed‘PIL’一、分析问题背景当你在Python环境中尝试导入PIL(PythonImagingLibrary)模块时,可能会遇到“ModuleNotFoundError:Nomodulenamed‘PIL’”的错误。这通常发生在尝试使用PIL</div> </li> <li><a href="/article/1835406006264360960.htm" title="新能源汽车 BMS 学习笔记篇—BMS 基本定义及分类" target="_blank">新能源汽车 BMS 学习笔记篇—BMS 基本定义及分类</a> <span class="text-muted">WPG大大通</span> <a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E6%B1%BD%E8%BD%A6/1.htm">汽车</a><a class="tag" taget="_blank" href="/search/BMS/1.htm">BMS</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/%E6%96%B0%E8%83%BD%E6%BA%90/1.htm">新能源</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E6%B1%A0/1.htm">电池</a> <div>一、BMS定义1、概念:BMS(BatteryManagementSystem)即电池管理系统,其管理对象是二次电池(充电电池或蓄电池),其主要目的是电池的利用率,防止电池出现过度充电和过度放电,可应用于电动汽车、电瓶车、机器人、无人机等图片来源:腾讯网https://new.qq.com《标准普尔警告,电动汽车电池生产面临供应链和地缘政治风险》2、四大功能①感知和测量:检测电池的电压、电流、温度</div> </li> <li><a href="/article/1835400967986704384.htm" title="内存保护学习(一):tc27x的内存保护MPU设置浅析(个人理解)" target="_blank">内存保护学习(一):tc27x的内存保护MPU设置浅析(个人理解)</a> <span class="text-muted">剑从东方起</span> <a class="tag" taget="_blank" href="/search/%E9%93%BE%E6%8E%A5%E6%96%87%E4%BB%B6%E5%8F%8A%E5%8A%9F%E8%83%BD%E5%AE%89%E5%85%A8/1.htm">链接文件及功能安全</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a> <div>目录一、背景二、Tc27x相关寄存器1、注意点2、注意几个强相关寄存器1)、数据保护范围寄存器2)、代码保护范围寄存器3)、保护集启用寄存器命名约定4)、PSW(每个核都有一个)5)、SYSCON三、使用方法1、内存方面2、在ECUM里面初始化MPU3、OS回调CBK检查4、机理5、补充点一、背景根据低ASIL等级开发的软件组件可能会错误地访问具有较高ASIL等级的软件组件的内存区域,从而产生干扰</div> </li> <li><a href="/article/1835398694636187648.htm" title="RK3229_Android9.0_Box 4G模块EC200A调试" target="_blank">RK3229_Android9.0_Box 4G模块EC200A调试</a> <span class="text-muted">suifen_</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>0、kernel修改这部分完全可以参考Linux的移植:RK3588EC200A-CN【4G模块】调试_rkec200a-cn-CSDN博客1、修改device/rockchip/rk322xdiff--gita/device.mkb/device.mkindexec6bfaa..e7c32d1100755---a/device.mk+++b/device.mk@@-105,6+105,8@@en</div> </li> <li><a href="/article/1835393400380157952.htm" title="VUE3 + xterm + nestjs实现web远程终端 或 连接开启SSH登录的路由器和交换机。" target="_blank">VUE3 + xterm + nestjs实现web远程终端 或 连接开启SSH登录的路由器和交换机。</a> <span class="text-muted">焚木灵</span> <a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a> <div>可远程连接系统终端或开启SSH登录的路由器和交换机。相关资料:xtermjs/xterm.js:Aterminalfortheweb(github.com)后端实现(NestJS):1、安装依赖:npminstallnode-ssh@nestjs/websockets@nestjs/platform-socket.io2、我们将创建一个名为RemoteControlModule的NestJS模块,</div> </li> <li><a href="/article/1835392769678471168.htm" title="metaRTC8.0,一个全新架构的webRTC SDK库" target="_blank">metaRTC8.0,一个全新架构的webRTC SDK库</a> <span class="text-muted">metaRTC</span> <a class="tag" taget="_blank" href="/search/webrtc/1.htm">webrtc</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a> <div>概述metaRTC8.0是metaRTC开源以来架构变化最大的一个版本,是metaIPC3.0等高性能的基础。metaRTC8.0是一个全新架构版本,并非在metaRTC7.0版本上简单升级,在QOS/语音对讲/内存占用/视频文件录制读取等方面新增多个模块,在弱网对抗/语音对讲/内存优化等效果上有显著提升。metaRTC8.0在一年多的开发中进行了近200次迭代,metaRTC8.0社区版计划在2</div> </li> <li><a href="/article/121.htm" title="jquery实现的jsonp掉java后台" target="_blank">jquery实现的jsonp掉java后台</a> <span class="text-muted">知了ing</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jsonp/1.htm">jsonp</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a> <div> 什么是JSONP? 先说说JSONP是怎么产生的: 其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,小可不才,试着用自己的方式来阐释一下这个问题,看看是否有帮助。 1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准; 2、</div> </li> <li><a href="/article/248.htm" title="Struts2学习笔记" target="_blank">Struts2学习笔记</a> <span class="text-muted">caoyong</span> <a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a> <div>SSH : Spring + Struts2 + Hibernate 三层架构(表示层,业务逻辑层,数据访问层) MVC模式 (Model View Controller) 分层原则:单向依赖,接口耦合 1、Struts2  =  Struts  + Webwork 2、搭建struts2开发环境    a>、到www.apac</div> </li> <li><a href="/article/375.htm" title="SpringMVC学习之后台往前台传值方法" target="_blank">SpringMVC学习之后台往前台传值方法</a> <span class="text-muted">满城风雨近重阳</span> <a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a> <div>springMVC控制器往前台传值的方法有以下几种: 1.ModelAndView    通过往ModelAndView中存放viewName:目标地址和attribute参数来实现传参:      ModelAndView mv=new ModelAndView();  mv.setViewName="success</div> </li> <li><a href="/article/502.htm" title="WebService存在的必要性?" target="_blank">WebService存在的必要性?</a> <span class="text-muted">一炮送你回车库</span> <a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a> <div>做Java的经常在选择Webservice框架上徘徊很久,Axis  Xfire Axis2 CXF ,他们只有一个功能,发布HTTP服务然后用XML做数据传输。 是的,他们就做了两个功能,发布一个http服务让客户端或者浏览器连接,接收xml参数并发送xml结果。 当在不同的平台间传输数据时,就需要一个都能解析的数据格式。 但是为什么要使用xml呢?不能使json或者其他通用数据</div> </li> <li><a href="/article/629.htm" title="js年份下拉框" target="_blank">js年份下拉框</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/java+web+ee/1.htm">java web ee</a> <div> <div id="divValue">test...</div>测试 //年份 <select id="year"></select> <script type="text/javascript"> window.onload = </div> </li> <li><a href="/article/756.htm" title="简单链式调用的实现技术" target="_blank">简单链式调用的实现技术</a> <span class="text-muted">归来朝歌</span> <a class="tag" taget="_blank" href="/search/%E6%96%B9%E6%B3%95%E8%B0%83%E7%94%A8/1.htm">方法调用</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E5%BC%8F%E5%8F%8D%E5%BA%94/1.htm">链式反应</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3/1.htm">编程思想</a> <div>在编程中,我们可以经常遇到这样一种场景:一个实例不断调用它自身的方法,像一条链条一样进行调用 这样的调用你可能在Ajax中,在页面中添加标签: $("<p>").append($("<span>").text(list[i].name)).appendTo("#result");   也可能在HQ</div> </li> <li><a href="/article/883.htm" title="JAVA调用.net 发布的webservice 接口" target="_blank">JAVA调用.net 发布的webservice 接口</a> <span class="text-muted">darkranger</span> <a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a> <div> /** * @Title: callInvoke * @Description: TODO(调用接口公共方法) * @param @param url 地址 * @param @param method 方法 * @param @param pama 参数 * @param @return * @param @throws BusinessException </div> </li> <li><a href="/article/1010.htm" title="Javascript模糊查找 | 第一章 循环不能不重视。" target="_blank">Javascript模糊查找 | 第一章 循环不能不重视。</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/Way/1.htm">Way</a> <div> 最近受我的朋友委托用js+HTML做一个像手册一样的程序,里面要有可展开的大纲,模糊查找等功能。我这个人说实在的懒,本来是不愿意的,但想起了父亲以前教我要给朋友搞好关系,再加上这也可以巩固自己的js技术,于是就开始开发这个程序,没想到却出了点小问题,我做的查找只能绝对查找。具体的js代码如下: function search(){ var arr=new Array("my</div> </li> <li><a href="/article/1137.htm" title="狼和羊,该怎么抉择" target="_blank">狼和羊,该怎么抉择</a> <span class="text-muted">atongyeye</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a> <div>狼和羊,该怎么抉择 在做一个链家的小项目,只有我和另外一个同事两个人负责,各负责一部分接口,我的接口写完,并全部测联调试通过。所以工作就剩下一下细枝末节的,工作就轻松很多。每天会帮另一个同事测试一些功能点,协助他完成一些业务型不强的工作。 今天早上到公司没多久,领导就在QQ上给我发信息,让我多协助同事测试,让我积极主动些,有点责任心等等,我听了这话,心里面立马凉半截,首先一个领导轻易说</div> </li> <li><a href="/article/1264.htm" title="读取android系统的联系人拨号" target="_blank">读取android系统的联系人拨号</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/sqlite%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">sqlite数据库</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AE%B9%E6%8F%90%E4%BE%9B%E8%80%85/1.htm">内容提供者</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9C%8D%E5%8A%A1%E7%9A%84%E4%BD%BF%E7%94%A8/1.htm">系统服务的使用</a> <div>       联系人的姓名和号码是保存在不同的表中,不要一下子把号码查询来,我开始就是把姓名和电话同时查询出来的,导致系统非常的慢   关键代码:     1, 使用javabean操作存储读取到的数据 package com.example.bean; /** * * @author Admini</div> </li> <li><a href="/article/1391.htm" title="ORACLE自定义异常" target="_blank">ORACLE自定义异常</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%82%E5%B8%B8/1.htm">自定义异常</a> <div>实例: CREATE OR REPLACE PROCEDURE test_Exception ( ParameterA IN varchar2, ParameterB IN varchar2, ErrorCode OUT varchar2 --返回值,错误编码 ) AS /*以下是一些变量的定义*/ V1 NUMBER; V2 nvarc</div> </li> <li><a href="/article/1518.htm" title="查看端号使用情况" target="_blank">查看端号使用情况</a> <span class="text-muted">征客丶</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a> <div>一、查看端口 在windows命令行窗口下执行: >netstat -aon|findstr "8080" 显示结果: TCP     127.0.0.1:80         0.0.0.0:0    &</div> </li> <li><a href="/article/1645.htm" title="【Spark二十】运行Spark Streaming的NetworkWordCount实例" target="_blank">【Spark二十】运行Spark Streaming的NetworkWordCount实例</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/wordcount/1.htm">wordcount</a> <div>Spark Streaming简介   NetworkWordCount代码   /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with </div> </li> <li><a href="/article/1772.htm" title="Struts2 与 SpringMVC的比较" target="_blank">Struts2 与 SpringMVC的比较</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a><a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a> <div>1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。 2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring</div> </li> <li><a href="/article/1899.htm" title="Hibernate在更新时,是可以不用session的update方法的(转帖)" target="_blank">Hibernate在更新时,是可以不用session的update方法的(转帖)</a> <span class="text-muted">BreakingBad</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/update/1.htm">update</a> <div>地址:http://blog.csdn.net/plpblue/article/details/9304459 public void synDevNameWithItil() {Session session = null;Transaction tr = null;try{session = HibernateUtil.getSession();tr = session.beginTran</div> </li> <li><a href="/article/2026.htm" title="读《研磨设计模式》-代码笔记-观察者模式" target="_blank">读《研磨设计模式》-代码笔记-观察者模式</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.List; import java.util.Observable; import java.util.Observer; /** * “观</div> </li> <li><a href="/article/2153.htm" title="重置MySQL密码" target="_blank">重置MySQL密码</a> <span class="text-muted">chenhbc</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E7%BD%AE%E5%AF%86%E7%A0%81/1.htm">重置密码</a><a class="tag" taget="_blank" href="/search/%E5%BF%98%E8%AE%B0%E5%AF%86%E7%A0%81/1.htm">忘记密码</a> <div>如果你也像我这么健忘,把MySQL的密码搞忘记了,经过下面几个步骤就可以重置了(以Windows为例,Linux/Unix类似): 1、关闭MySQL服务 2、打开CMD,进入MySQL安装目录的bin目录下,以跳过权限检查的方式启动MySQL mysqld --skip-grant-tables  3、新开一个CMD窗口,进入MySQL mysql -uroot  </div> </li> <li><a href="/article/2280.htm" title="再谈系统论,控制论和信息论" target="_blank">再谈系统论,控制论和信息论</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9/1.htm">生物</a><a class="tag" taget="_blank" href="/search/%E8%83%BD%E6%BA%90/1.htm">能源</a><a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%BA%94%E7%94%A8/1.htm">企业应用</a><a class="tag" taget="_blank" href="/search/%E9%A2%86%E5%9F%9F%E6%A8%A1%E5%9E%8B/1.htm">领域模型</a> <div>                            再谈系统论,控制论和信息论     偶然看</div> </li> <li><a href="/article/2407.htm" title="oracle moving window size与 AWR retention period关系" target="_blank">oracle moving window size与 AWR retention period关系</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>转自: http://tomszrp.itpub.net/post/11835/494147 晚上在做11gR1的一个awrrpt报告时,顺便想调整一下AWR snapshot的保留时间,结果遇到了ORA-13541这样的错误.下面是这个问题的发生和解决过程. SQL> select * from v$version; BANNER -------------------</div> </li> <li><a href="/article/2534.htm" title="Python版B树" target="_blank">Python版B树</a> <span class="text-muted">dieslrae</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>话说以前的树都用java写的,最近发现python有点生疏了,于是用python写了个B树实现,B树在索引领域用得还是蛮多了,如果没记错mysql的默认索引好像就是B树... 首先是数据实体对象,很简单,只存放key,value class Entity(object): '''数据实体''' def __init__(self,key,value)</div> </li> <li><a href="/article/2661.htm" title="C语言冒泡排序" target="_blank">C语言冒泡排序</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>代码示例: # include <stdio.h> //冒泡排序 void sort(int * a, int len) { int i, j, t; for (i=0; i<len-1; i++) { for (j=0; j<len-1-i; j++) { if (a[j] > a[j+1]) // >表示升序 </div> </li> <li><a href="/article/2788.htm" title="自定义导航栏样式" target="_blank">自定义导航栏样式</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89/1.htm">自定义</a> <div>-(void)setupAppAppearance { [[UILabel appearance] setFont:[UIFont fontWithName:@"FZLTHK—GBK1-0" size:20]]; [UIButton appearance].titleLabel.font =[UIFont fontWithName:@"FZLTH</div> </li> <li><a href="/article/2915.htm" title="11.性能优化-优化-JVM参数总结" target="_blank">11.性能优化-优化-JVM参数总结</a> <span class="text-muted">frank1234</span> <a class="tag" taget="_blank" href="/search/jvm%E5%8F%82%E6%95%B0/1.htm">jvm参数</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a> <div>1.堆 -Xms --初始堆大小 -Xmx --最大堆大小 -Xmn --新生代大小 -Xss --线程栈大小 -XX:PermSize  --永久代初始大小 -XX:MaxPermSize  --永久代最大值 -XX:SurvivorRatio --新生代和suvivor比例,默认为8 -XX:TargetSurvivorRatio --survivor可使用</div> </li> <li><a href="/article/3042.htm" title="nginx日志分割 for linux" target="_blank">nginx日志分割 for linux</a> <span class="text-muted">HarborChung</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a> <div>nginx日志分割 for linux 默认情况下,nginx是不分割访问日志的,久而久之,网站的日志文件将会越来越大,占用空间不说,如果有问题要查看网站的日志的话,庞大的文件也将很难打开,于是便有了下面的脚本   使用方法,先将以下脚本保存为 cutlog.sh,放在/root 目录下,然后给予此脚本执行的权限   复制代码代码如下: chmo</div> </li> <li><a href="/article/3169.htm" title="Spring4新特性——泛型限定式依赖注入" target="_blank">Spring4新特性——泛型限定式依赖注入</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a><a class="tag" taget="_blank" href="/search/%E6%B3%9B%E5%9E%8B%E5%BC%8F%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5/1.htm">泛型式依赖注入</a> <div>Spring4新特性——泛型限定式依赖注入 Spring4新特性——核心容器的其他改进 Spring4新特性——Web开发的增强 Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  Spring4新特性——Groovy Bean定义DSL Spring4新特性——更好的Java泛型操作API  Spring4新</div> </li> <li><a href="/article/3296.htm" title="centOS安装GCC和G++" target="_blank">centOS安装GCC和G++</a> <span class="text-muted">liuxihope</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/gcc/1.htm">gcc</a> <div>Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户。 按照这个思路,我想安装过程如下: 安装gcc:yum install gcc 安装g++: yum install g++ 实际操作过程发现,只能有gcc安装成功,而g++安装失败,提示g++ command not found。上网查了一下,正确安装应该</div> </li> <li><a href="/article/3423.htm" title="第13章 Ajax进阶(上)" target="_blank">第13章 Ajax进阶(上)</a> <span class="text-muted">onestopweb</span> <a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a> <div>index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/</div> </li> <li><a href="/article/3550.htm" title="How to determine BusinessObjects service pack and fix pack" target="_blank">How to determine BusinessObjects service pack and fix pack</a> <span class="text-muted">blueoxygen</span> <a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a> <div>http://bukhantsov.org/2011/08/how-to-determine-businessobjects-service-pack-and-fix-pack/   The table below is helpful. Reference   BOE XI 3.x 12.0.0. y BOE XI 3.0 12.0. x. y BO</div> </li> <li><a href="/article/3677.htm" title="Oracle里的自增字段设置" target="_blank">Oracle里的自增字段设置</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div> 大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的。oh,no   我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列 create table t ( id       number generated by default as identity (start with 1 increment b</div> </li> <li><a href="/article/3804.htm" title="Spring Security(01)——初体验" target="_blank">Spring Security(01)——初体验</a> <span class="text-muted">yang_winnie</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Security/1.htm">Security</a> <div>Spring Security(01)——初体验     博客分类: spring Security Spring Security入门安全认证        首先我们为Spring Security专门建立一个Spring的配置文件,该文件就专门用来作为Spring Security的配置</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>