Windows下python编码如何实现监控某个进程网络流量?

Windows下python编码如何实现监控某个进程网络流量

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
windows下python如何提取指定进程的内存

类似于volatility,python有哪些库和工具支持内存转储

python如何在windows实现分布式进程

请问下如何能在windows下用python实现分布式进程呢?在廖雪峰前辈的python教程中的分布式进程只能在linux环境下运行,初学python也找不到头绪,所以希望在此能找到答案,谢谢^_^ 下面是廖雪峰前辈关于这部分的讲解。。 [link text][1] [1]: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832973658c780d8bfa4c6406f83b2b3097aed5df6000

windows上用python学习multiprocessing模块的进程池,程序创建了进程池,但是却没用进入子进程?

1.问题描述: 看网课学习python,昨天学到进程池和进程之间的通信。 看老师的视频时运行正确,自己确实没出想象中的效果。 在windows上用python学习multiprocessing模块的进程池,在pycharm中程序创建了进程池,但是却没用进入子进程?但是在命令窗口去可以进入子进程。 代码: ``` # 测试进程池的使用 from multiprocessing import Pool import time, os def work(num): print('咋了?', end='\t') print(5*num) time.sleep(1) if __name__ == "__main__": print('Parent process %s.' % os.getpid()) # 定义一个进程池,设置最大进程为4,默认为cpu核心数 po = Pool(4) for i in range(10): # 调用apply_saync()方法,apply_saync选择要调用的目标,以及将目标需要的参数 # 以元组形式传递,每次循环都会用空出来的进程去调用目标。 po.apply_async(func=work, args=(i,)) # 关闭进程池,只准许进程从进程池出来,不准进入进程池 po.close() # 主进程等待子进程结束,必须写再close后。 po.join() print('子进程结束') ``` 然后在pycharm的运行结果是既没有报错也没有执行子进程的指令 图是这样的: ![图片说明](https://img-ask.csdn.net/upload/201901/16/1547605427_367407.png) 为了给各位大佬提供更多信息,我在循环那debug了下,尽管我目前还看不懂。 ![图片说明](https://img-ask.csdn.net/upload/201901/16/1547605634_254497.png) 在Windows的命令窗口下直接运行结果就有了。貌似得到我的结果了。 ![图片说明](https://img-ask.csdn.net/upload/201901/16/1547605512_956498.png) 说明:昨天也查了半天资料,说的都是加if __name__ == "__main__": 来保证正常,可是我还是出问题了! 请各位大佬指点迷津,拯救一个初学者吧。

Python如何实现多线程与多进程的配合工作?

#!/usr/bin/env python #coding=utf8 import multiprocessing import threading import threadpool import time import re import os ''' 想法: 开启了11个进程,第一个进程是以多线程方式运行,再通过进程间通信来使其他进程工作. ''' def put_test(str1): # 处理出函数名,开启多线程 print str1, q.put(str1) time.sleep(1) def get_test(): # 进程池除第一个以外的进程 print ' 5' print q.qsize(),os.getpid() print q.get(True,1) time.sleep(1) ############################################################### if __name__=='__main__': multiprocessing.freeze_support() q=multiprocessing.Queue(maxsize = 10) # 线程池 data=range(1,11) pool=threadpool.ThreadPool(10) requests=threadpool.makeRequests(put_test,data) [pool.putRequest(req) for req in requests] pool.wait() # 进程池 pool2 = multiprocessing.Pool(processes=3) for var in range(1,11): # 20个进程 pool2.apply_async(get_test,[]) pool2.close() pool2.join() print "size:",q.qsize() ``` ``` 这段代码出问题了,求助。

bat 脚本,监控Windows当时网络情况

bat 脚本,监控Windows当时网络情况, 将监控日志输出到日志文件内, 输出信息为,当前时间+网络状态信息(ping)

python在windows下如何交互式编程

python在windows下如何交互式编程,使用windwos下的ssh.exe scp.exe等工具登录linux机器 ,使用ssh.exe登录linux机器,并且执行几条命令,在linux下可以用pexpect模块实现,但是在windows下似乎不能用这个模块,该怎么做,谢谢

python如何实现批量修改文件编码为utf8

我下载了Udacity的视频,但是中文字幕是vtt格式的,于是在网上看了几个python批量转换vtt为srt的方法,因为遇到gbk和utf8神马的问题,自己修改了下,终于能运行了,但是转换后的srt字幕是乱码。后来发现只要把srt的文件另存为时改编码为utf8就可以看了,请问怎么把srt批量修改成编码utf8??或者在转换的过程中就保存为utf8,转换的代码如下: ``` #coding = utf-8 import os import re path = r"D:\课件临时\2" vttName = [] for i in os.listdir(path): name = i.split('.') if name[-1] == 'vtt': vttName.append(i) for vttname in vttName: vtt = open(path + "\\" + vttname,'rb') filevtt = vtt.read().decode('utf-8') vtt.close() #print filevtt listvtt = filevtt.split('.') #print listvtt #print listvtt[0][8:] strvtt = listvtt[0][8:] for i in range(1 , len(listvtt) ): strvtt = strvtt + "," + listvtt[i] #print strvtt srtName = vttname.split('.') srtt = open(path + '\\' + srtName[0] + '.srt','bw') for r in strvtt: r=r.encode('utf-8') srtt.write(r) srtt.close() ```

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)

PYTHON 是在linux下运行好 还是windows下运行好?

用Python做web 有32位 64位限制吗?

python在自定义的函数中不停创建进程

windows下,用python写了一个多进程的代码,遇到问题 ``` from multiprocessing import Process def count(): num = 100000 while num>0: num -= 1 print "done" def creat(): p = Process(target=count) p.start() p.join() if __name__ == '__main__': creat() ``` 运行后进入任务管理器,发现创建了很多很多python进程,不一会儿就把内存占满了 而改为下面的代码后就没有问题了,请问这是什么原因呀? ``` if __name__ == '__main__': p = Process(target=count) p.start() p.join() ```

python 调用windows 命令行

def start(count): log_name ='c:\\log\\' +str(count) cmd = 'c:\\tool\\tool.exe > ' + log_name os.popen(cmd) 在windows环境下执行tool.exe重定向 循环处理多了 会报错 close failed in file object destructor: IOError: [ERROR 0] Error 请问是什么原因?

Python实现telnet到远程桌面后,启动应用程序

已经用Python实现了telnet到远程桌面,请问如何启动应用程序?

python3多进程爬虫的每个进程停止运行但是程序没有退出?

我写了一个多进程和多线程结合的爬虫(我不知道多进程和多线程怎样结合使用)所以我先说一下**我的思路**: * 首先我爬取的是[某车之家](https://www.autohome.com.cn/)的文章 * 汽车之家有很多种车,比如奥迪,宝马,奔驰,我创建一个进程池pool, 对应每一种车创建一个进程下载它的文章 * 然后,因为每种车下面有很多篇文章,我创建一个线程池,对应每一篇文章,创建一个线程来下载文章 * 创建进程池我使用的是multiprocessing.Pool * 创建线程池使用的是concurrent.futures.ThreadPoolExecutor ## 那么现在问题来了 * 当我刚开始运行我的代码的时候,因为我创建的进程池大小是cpu_count()=8,所以打开任务管理器可以看到8个python进程正在运行 ![图片说明](https://img-ask.csdn.net/upload/201901/26/1548506446_775132.png) * **然后,当代码运行一段时间后,进程池中的8个进程全部停止运行了** ![图片说明](https://img-ask.csdn.net/upload/201901/26/1548506504_930707.png) ![图片说明](https://img-ask.csdn.net/upload/201901/26/1548506544_201575.png) ## 可以看到此时代码并没有运行完毕,而且代码运行卡在这里无论等多久都不会继续运行 * 我观察发现,这些进程在下载某辆车如本田-雅阁的所有文章后,注意是将所有文章下载完毕才会停止运行,而且不再运行 ## 我想知道进程池中的进程为什么会停止运行,而我的函数没有停止?可以确定的是我的爬虫任务并没有全部完成,仅仅完成了一小部分。进程池中的每一个进程在爬取几辆车的所有文章后停止运行,求大佬解答,不甚感激。 ## 代码如下 ``` # coding=utf-8 import requests import os import re import json import time import random import threading import multiprocessing import concurrent.futures from bs4 import BeautifulSoup def change_title(title): rstr = r"[\/\\\:\*\?\"\<\>\|]" return re.sub(rstr, "", title) USER_AGENTS = [ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)", "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)", "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)", "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)", "Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0", "Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20", "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52", ] http_ip = list() https_ip = list() with open(r'D:\pycharm\Spider\99mm\useful_ip.txt', 'r') as fp: lines = fp.readlines() for line in lines: ips = eval(line) if str(ips['kind']) == 'HTTP': http_ip.append(ips['proxy']) else: https_ip.append(ips['proxy']) def get_all_cars(main_url, file_path): car_dict = {} html = requests.get(main_url) soup = BeautifulSoup(html.text, "html.parser") catalog = soup.find("div", id="hotcar-1").find_all("div", class_="name") for cata in catalog[-1:]: # suv, 紧凑型车, 中型车 cata_a = cata.find("a") print(cata_a["href"]) print(cata_a.get_text()) car_url = main_url + cata_a["href"] car_html = requests.get(car_url) car_soup = BeautifulSoup(car_html.text, "html.parser") # 有4个 class_="tab-content-item" car_letter_boxes = car_soup.find("div", class_="tab-content-item").find_all("div", class_="uibox") for car_letter_box in car_letter_boxes[:]: # 车牌按字母排序 A~Z, 一个字母下有很多车牌, 对每个字母进行处理 car_brand_info = car_letter_box.find("div", class_="uibox-con rank-list rank-list-pic") if car_brand_info: car_brands = car_brand_info.find_all("dl", olr=re.compile("^.*$")) for car_brand in car_brands: # 一个车牌有很多种车型, 对每个车牌进行处理 brand_name = car_brand.find("div").find("a").get_text() print("-car brand-", brand_name) car_dict[cata_a.get_text() + "-" + brand_name] = {} car_brand_path = main_path + "\\" + cata_a.get_text() + "-" + brand_name if not os.path.exists(car_brand_path): os.mkdir(car_brand_path) # os.chdir(car_brand_path) car_name_lists = car_brand.find_all("ul", class_="rank-list-ul") for car_name_list in car_name_lists: car_name_lis = car_name_list.find_all("li", id=re.compile("^.*$")) for car_name_li in car_name_lis: car_a_tag = car_name_li.find("h4").find("a") specific_car_url = "https:" + car_a_tag["href"] car_name = car_a_tag.get_text() print("\t", car_name, "\t", specific_car_url) car_dict[cata_a.get_text() + "-" + brand_name][car_name] = specific_car_url brand_cars_path = car_brand_path + "\\" + car_name if not os.path.exists(brand_cars_path): os.mkdir(brand_cars_path) # os.chdir(brand_cars_path) # 至此, 找到了每一辆车的url, 需要从这个url中找到它对应的一系列文章 # get_each_car_articles(main_url, specific_car_url) else: continue return car_dict def get_each_car_articles(main_url, specific_car_url, file_path, headers, proxies, info): # main_url, specific_car_url, file_path, headers, proxies, info = args # 传入的是每一种车的url, 即specific_car_url article_dict = {} specific_car_html = requests.get(url=specific_car_url, headers=headers, proxies=proxies) specific_car_soup = BeautifulSoup(specific_car_html.text, "html.parser") art_temp = specific_car_soup.find("div", class_="athm-sub-nav__channel athm-js-sticky") if art_temp: art = art_temp.find_all("li") else: print(f"\t\t****article is None, url is {specific_car_url}****") return part_url = art[6].find("a")["href"] specific_car_article_url = main_url + part_url right_pos = specific_car_article_url.rfind("/") specific_car_article_url = specific_car_article_url[:right_pos + 1] specific_car_article_html = requests.get(specific_car_article_url, headers=headers, proxies=proxies) specific_car_article_soup = BeautifulSoup(specific_car_article_html.text, "html.parser") page_info = specific_car_article_soup.find("div", class_="page") page_num = 1 if page_info: pages = page_info.find_all("a", target="_self") page_num = int(pages[-2].get_text()) for i in range(1, page_num + 1): if i == 1: page_url = specific_car_article_url else: page_url = specific_car_article_url[:-4] + str(i) + specific_car_article_url[-3:] # print("\t"*2, f"正在查找第{i}页的文章\t", page_url) page_html = requests.get(page_url, headers=headers, proxies=proxies) page_soup = BeautifulSoup(page_html.text, "html.parser") articles = page_soup.find("div", class_="cont-info").find_all("li") for article in articles: each_article = article.find("h3").find("a") each_article_url = "https:" + each_article["href"] each_article_title = each_article.get_text() article_dict[each_article_title] = each_article_url os.chdir(file_path) with concurrent.futures.ThreadPoolExecutor(max_workers=8) as t_executor: for key, value in article_dict.items(): t_executor.submit(download_each_article, *(value, key,info)) # thread_list = [] # for key, value in article_dict.items(): # thread_list.append(threading.Thread(target=download_each_article, args=(value, key,info))) # [thread.start() for thread in thread_list] # [thread.join() for thread in thread_list] def download_each_article(each_article_url, each_article_title, info): headers = { "User-Agent": random.choice(USER_AGENTS), "Referer": "https://www.autohome.com.cn" } proxies = {"proxy": random.choice(http_ip)} # each_article_url, each_article_title, headers, proxies, info = args print(f"\t\t--下载文章-- {info}\t{each_article_title}\t{each_article_url}") article_html = requests.get(each_article_url, headers=headers, proxies=proxies) article_soup = BeautifulSoup(article_html.text, "html.parser") article_content = article_soup.find("div", class_="container article") if article_content: with open(f"{change_title(each_article_title)}.txt", "w+", encoding="utf-8") as f: time_span = article_content.find("div", class_="article-info").find("span", class_="time") time = time_span.get_text() time_dict = {"time": time} f.write(json.dumps(time_dict) + "\n\n") article_content_div = article_content.find("div", id="articleContent") for content in article_content_div.find_all("p"): if content.get_text().strip(): content_dict = {"content": content.get_text()} f.write(json.dumps(content_dict) + "\n") else: try: imgs = content.find_all("a") for i in imgs: img = i.find("img") img_dict = {f"<[image] {img['alt']}> ": "https:" + img["src"]} f.write(json.dumps(img_dict) + "\n") except: continue pages = article_content.find("div", class_="athm-page__num") if pages: for a in pages.find_all("a", target="_self")[1:]: next_page_url = "https://www.autohome.com.cn" + a["href"] pages_html = requests.get(next_page_url, headers=headers, proxies=proxies) pages_soup = BeautifulSoup(pages_html.text, "html.parser") pages_content_div = pages_soup.find("div", class_="container article").find("div", id="articleContent") for content in pages_content_div.find_all("p"): if content.get_text().strip(): content_dict = {"content": content.get_text()} f.write(json.dumps(content_dict) + "\n") else: try: imgs = content.find_all("a") for i in imgs: img = i.find("img") img_dict = {f"<[image] {img['alt']}> ": "https:" + img["src"]} f.write(json.dumps(img_dict) + "\n") except: continue # 下载评论 f.write("\n") article_comment_span = article_content.find("div", "article-tools").find("span", class_="comment") article_comment_url = "https:" + article_comment_span.find("a")["href"] # print(article_comment_url) basic_reply_url = "https://reply.autohome.com.cn/api/comments/show.json?count=50&" \ "page={}&id={}&appid=1&datatype=jsonp&order=0&replyid=0" html = requests.get(article_comment_url, headers=headers, proxies=proxies) html_soup = BeautifulSoup(html.text, "html.parser") article_id = re.search(r"articleid=([\d]*)#", article_comment_url).groups()[0] first_json_dict = json.loads(requests.get(basic_reply_url.format(1, article_id), headers=headers, proxies=proxies).text[1:-1]) page_num = int(first_json_dict["commentcount"]) // 50 + 1 for i in range(1, page_num + 1): json_dict = json.loads(requests.get(basic_reply_url.format(i, article_id)).text[1:-1]) comment_dicts = json_dict["commentlist"] for comment in comment_dicts: comment_dict = {} comment_dict["RMemberId"] = comment["RMemberId"] comment_dict["RMemberName"] = comment["RMemberName"] comment_dict["replydate"] = comment["replydate"] comment_dict["ReplyId"] = comment["ReplyId"] comment_dict["RObjId"] = comment["RObjId"] comment_dict["RTargetReplyId"] = comment["RTargetReplyId"] comment_dict["RTargetMemberId"] = comment["RTargetMemberId"] comment_dict["RReplyDate"] = comment["RReplyDate"] comment_dict["RContent"] = comment["RContent"] comment_dict["RFloor"] = comment["RFloor"] f.write(json.dumps(comment_dict) + "\n") print(f"**{info}-{each_article_title} completed") else: print(f"\tPicture article, passed. URL is {each_article_url}") if __name__ == '__main__': main_url = r"https://www.autohome.com.cn" main_path = r"D:\pycharm\python_work\autohome\汽车之家" start_time = time.time() proxies = {'proxy': random.choice(http_ip)} headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36", "Referer": "https://www.autohome.com.cn" } car_dict = get_all_cars(main_url, main_path) # print(car_dict) # with concurrent.futures.ProcessPoolExecutor(max_workers=8) as p_executor: # for keys, values in car_dict.items(): # for key, value in values.items(): # file_path = main_path + "\\" + str(keys) + "\\" + key # info = f"-{keys}-{key}-" # p_executor.submit(get_each_car_articles, *(main_url, value, file_path, headers, proxies, info)) pool = multiprocessing.Pool() for keys, values in car_dict.items(): print(keys, values) for key, value in values.items(): print("\t", key, value) file_path = main_path + "\\" + str(keys) + "\\" + key info = f"-{keys}-{key}-" pool.apply_async(get_each_car_articles, args=(main_url, value, file_path, headers, proxies, info)) pool.close() pool.join() end_time = time.time() print("##########已完成##########") print(f"spend time {end_time-start_time}") ```

python 进程池失效原因

``` from multiprocessing import Pool import os, time, random def process_pool_program_(): def long_time_task(name): print 'Run task %s (%s)...' % (name, os.getpid()) start = time.time() time.sleep(random.random() * 3) end = time.time() print 'Task %s runs %0.2f seconds.' % (name, (end - start)) print 'Parent process %s.' % os.getpid() p = Pool() for i in range(5): print p.apply_async(long_time_task, args=(i,)).ready() print 'Waiting for all subprocesses done...' p.close() p.join() print 'All subprocesses done.' process_pool_program_() ``` 为什么这样运行进程池会失败呢,而去掉最外层的函数定义就不会失败

python多进程问题,怎样实现多进程使用同一队列并且不重复访问

现在有一个链接库,我想同时开启多个进程来访问链接爬取信息,怎样使各个进程之间知道已经访问和未访问的,不重复访问

python中的编码与字典中的编码,迷惑不解

``` IPython 5.4.1 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In [1]: a = {1: '我爱吃鱼'} In [2]: a Out[2]: {1: '\xe6\x88\x91\xe7\x88\xb1\xe5\x90\x83\xe9\xb1\xbc'} In [3]: a[1] Out[3]: '\xe6\x88\x91\xe7\x88\xb1\xe5\x90\x83\xe9\xb1\xbc' In [4]: print a[1] 我爱吃鱼 In [5]: b = {1: u'我爱吃鱼'} In [6]: b Out[6]: {1: u'\u6211\u7231\u5403\u9c7c'} In [7]: print(b[1]) 我爱吃鱼 In [8]: ``` python2.7使用ipython编辑,为什么字典中的汉字是ascii码,unicode进行存储,而打印出来就不一样呢?大神解释一下上述过程。

关于通过forkingMixin实现python 多进程的疑惑

网上说python利用FokingMixIn实现多进程, 在下再看一段源代码时,有些许疑惑 源代码中中除了引入包含有forkingMixIn类的socket.server模块,还引入了theading这个模块 在重写handle函数并实例化服务器对象后,它这么做:server_thread=hreading.Thread(target=server.serve_forever) 在网上查,似乎是将操作委托给一个线程(可能是我理解有误。。)但这让我更加迷糊了,我想问一下各位到底forkingMixIn类是如何处理多进程的,与threading之间有什么关系呢?代码如下:) /usr/sbin/mypython import socket import SocketServer import os import threading sip='localhost' sport=0 class forkingclient: def __init__(self,ip,port): self.sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) self.sock.connect((ip,port)) def run(self): clientprocess_pid=os.getpid() data = 'hello server' print 'client %s send %s to server' %(clientprocess_pid,data) self.sock.send(data) newdata=self.sock.recv(1024) print newdata def shutdown(self): self.sock.close() class myhandle(SocketServer.BaseRequestHandler): def handle(self): data=self.request.recv(1024) server_current_pid=os.getpid() print server_current_pid print '%s receive from client is %s' %(server_current_pid,data) newdata = ' i am server and your data is ' +data self.request.send(newdata) print server_current_pid class forkingserver(SocketServer.TCPServer,SocketServer.ForkingMixIn): pass def main(): server=forkingserver((sip,sport),myhandle) ip,port=server.server_address server_thread=threading.Thread(target=server.serve_forever) server_thread.setDaemon(True) server_thread.start() client1=forkingclient(ip,port) client1.run() client2=forkingclient(ip,port) client2.run() client3=forkingclient(ip,port) client3.run() main() 对进程,通信这方面很不熟悉。。希望大家多多指教

Windows下Python环境搭建(包括Win7 64位下安装setuptools)

![图片说明](https://img-ask.csdn.net/upload/201606/29/1467206302_226442.png)

用python实现动态loading......效果

![图片说明](https://img-ask.csdn.net/upload/201809/19/1537362731_716569.png) 想用以上代码实现下图效果,可是不行啊,上面代码是等了6x0.2秒后1次性输 出Loading..... **用python如何实现?** ![图片说明](https://img-ask.csdn.net/upload/201809/19/1537362692_770022.gif)

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

springboot+jwt实现token登陆权限认证

一 前言 此篇文章的内容也是学习不久,终于到周末有时间码一篇文章分享知识追寻者的粉丝们,学完本篇文章,读者将对token类的登陆认证流程有个全面的了解,可以动态搭建自己的登陆认证过程;对小项目而已是个轻量级的认证机制,符合开发需求;更多精彩原创内容关注公主号知识追寻者,读者的肯定,就是对作者的创作的最大支持; 二 jwt实现登陆认证流程 用户使用账号和面发出post请求 服务器接受到请求后使用私...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

早上躺尸,晚上干活:硅谷科技公司这么流行迟到?

硅谷科技公司上班时间OPEN早已不是什么新鲜事,早九晚五是常态,但有很多企业由于不打卡,员工们10点、11点才“姗姗来迟”的情况也屡见不鲜。 这种灵活的考勤制度为人羡慕,甚至近年来,国内某些互联网企业也纷纷效仿。不过,硅谷普遍弹性的上班制度是怎么由来的呢?这种“流行性迟到”真的有那么轻松、悠哉吗? 《动态规划专题班》 课程试听内容: 动态规划的解题要领 动态规划三大类 求最值/计数/可行性 常...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大胆预测下未来5年的Web开发

在2019年的ReactiveConf 上,《Elm in Action》的作者Richard Feldman对未来5年Web开发的发展做了预测,很有意思,分享给大家。如果你有机会从头...

立即提问
相关内容推荐