python字典如何计算键值对的总数

{‘a’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘b’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘c’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘d’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘e’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘f’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘g’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’)} 如上,键值对有70,使用len()方法只能得出7,求在最好不用FOR循环的情况用dict对象最优的自带方法使结果为70(如果有的话)

Python3.7 和 Python2.7 在使用 map 和 lambda 的问题

下面是一段使用 split 分割字符串的代码,分别使用 Python2.7 和 Python3.7 执行 def mySplit(s, cut): data = [s] for i in cut: t = [] map(lambda x: t.extend(x.split(i)), data) data = t return [i for i in data if i] s = ‘ab;cd|efg|hi,,jkl|mn\topq;rst,uvw\txyz’ print(mySplit(s, ‘,;|\t’)) 运行结果: Geek-Mac:Downloads zhangyi$ python2.7 Nice.py [‘ab’, ‘cd’, ‘efg’, ‘hi’, ‘jkl’, ‘mn’, ‘opq’, ‘rst’, ‘uvw’, ‘xyz’] Geek-Mac:Downloads zhangyi$ python3.7 Nice.py [] Geek-Mac:Downloads zhangyi$ 由运行结果可知, Python2.7 运行正常,但是换成 Python3.7 执行就出现了问题。 如果换成循环就正常执行,我想知道是哪里出了问题,是 map、lambda 还是其他的的问题,望大神指点,不吝指教,多谢! def mySplit(s, cut): data = [s] for i in cut: t = [] for x in data: t.extend(x.split(i)) data = t return [i for i in data if i] s = ‘ab;cd|efg|hi,,jkl|mn\topq;rst,uvw\txyz’ print(mySplit(s, ‘,;|\t’)) 运行结果: Geek-Mac:Downloads zhangyi$ python3.7 Nice.py [‘ab’, ‘cd’, ‘efg’, ‘hi’, ‘jkl’, ‘mn’, ‘opq’, ‘rst’, ‘uvw’, ‘xyz’] Geek-Mac:Downloads zhangyi$ python2.7 Nice.py [‘ab’, ‘cd’, ‘efg’, ‘hi’, ‘jkl’, ‘mn’, ‘opq’, ‘rst’, ‘uvw’, ‘xyz’] Geek-Mac:Downloads zhangyi$

py2经典类,继承问题

class A(): def __init__(self): print(‘A’) class B(A): def __init__(self): super(B, self).__init__() b = B()**在py2下执行报错了super(B, self).__init__()TypeError: must be type, not classobj** 如果父类A使用新式类则没有问题class A(object): def __init__(self): print(‘A’) 为什么!!!????

python selenium 同一个页面两个case中,driver 如何在unittest 中传递

测试一个登录登出,我在登录时已经实例化一个webdriver,我想在登出的case中引用这个driver.怎么样才能引用到该driver? 为什么我要引用登录case中的driver,而不是在登出case中再实例化一个driver? 如果我在登出时再次实例化一个driver, 那么就要再打开一个浏览器并且要给定一个url,显得测试不连续; 代码如下所示 class TestLogin(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.implicitly_wait(10) self.driver.get(‘https://www.some.com/aa/login.jsp’) def test_login(self): username = ‘xxx’ password = ‘yyy!’ login_page = Login() login_page.user_login(self.driver, username, password) self.check_login() def check_login(self): current_url = self.driver.current_url expected_url = ‘/aa/main/index.do’ self.assertIn(expected_url, current_url, msg=”登录失败”) def tearDown(self): self.driver.quit() class TestLogout(unittest.TestCase): # 往往登录后case依赖于登录case def setUp(self, driver): self.driver = driver def test_logout(self): logout_button = self.driver.find_element_by_xpath(“//a[@onclick=’exitLogin();’]”) logout_button.click() logout_confirm = self.driver.find_element_by_css_selector(“.exitLogin .btn-primary”) logout_confirm.click() self.check_logout() def check_logout(self): current_url = self.driver.current_url expected_url = ‘aa/login.jsp’ self.assertIn(expected_url, current_url, msg=”登出失败”) def tearDown(self): self.driver.quit() if __name__ == ‘__main__’: suite = unittest.TestSuite() suite.addTest(TestLogin(“test_login”)) suite.addTest(TestLogout(“test_logout”)) runner = unittest.TextTestRunner() runner.run(suite)

Python selenium POM 自动化开发模式下,怎么样实现测试案例的复用

以面向页面的开发模式,开发一个系统的自动化测试案例;现有登录login_case, 要开发一个logout_case。由于logout_case的先决条件是用户已经登录,所以必须要在logout_case的代码中先调用login_case。请问,代码如何组织比较优雅? 以下是代码:LoginPage class Login(Page): “”” 用户登录 “”” url = “/honycloud/login.jsp” login_username_loc = (By.ID, “idToken1”) login_password_loc = (By.ID, “idToken2”) login_button_loc = (By.ID, “loginButton_0″) def login_username(self, username): self.find_element(*self.login_username_loc).send_keys(username) def login_password(self, password): self.find_element(*self.login_password_loc).send_keys(password) def login_button(self): self.find_element(*self.login_button_loc).click() def user_login(self, username=”badusername”, password=”badpassword”): self.open() self.login_username(username) self.login_password(password) self.login_button() sleep(1) login_case class LoginTest(myunit.MyUnitTest): “”” 登录 “”” # test login def user_login_verify(self, username=””, password=””): Login(self.driver).user_login(username, password) def test_login(self): self.user_login_verify(username=”xxxx”, password=”ffff!”) page = Login(self.driver) title = page.on_title() self.assertEqual(title, u’工作台’)

python2.7 安装 ipykernel

通过pip安装ipykernel不成功安装 sudo python -m pip install –user –ignore-installed python-dateutil ipykernel Collecting python-dateutil Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB) 100% |████████████████████████████████| 194kB 108kB/s Collecting ipykernel Downloading ipykernel-4.7.0-py2-none-any.whl (106kB) 100% |████████████████████████████████| 112kB 43kB/s Collecting six>=1.5 (from python-dateutil) Downloading six-1.11.0-py2.py3-none-any.whl Collecting jupyter-client (from ipykernel) Downloading jupyter_client-5.2.1-py2.py3-none-any.whl (88kB) 100% |████████████████████████████████| 92kB 40kB/s Collecting tornado>=4.0 (from ipykernel) Collecting traitlets>=4.1.0 (from ipykernel) Downloading traitlets-4.3.2-py2.py3-none-any.whl (74kB) 100% |████████████████████████████████| 81kB 28kB/s Collecting ipython>=4.0.0 (from ipykernel) Downloading ipython-5.5.0-py2-none-any.whl (758kB) 100% |████████████████████████████████| 768kB 46kB/s Collecting jupyter-core (from jupyter-client->ipykernel) Downloading jupyter_core-4.4.0-py2.py3-none-any.whl (126kB) 100% |████████████████████████████████| 133kB 27kB/s Collecting pyzmq>=13 (from jupyter-client->ipykernel) Downloading pyzmq-16.0.3-cp27-cp27m-macosx_10_6_intel.whl (1.1MB) 100% |████████████████████████████████| 1.1MB 32kB/s Collecting backports-abc>=0.4 (from tornado>=4.0->ipykernel) Downloading backports_abc-0.5-py2.py3-none-any.whl Collecting certifi (from tornado>=4.0->ipykernel) Downloading certifi-2017.11.5-py2.py3-none-any.whl (330kB) 100% |████████████████████████████████| 337kB 39kB/s Collecting singledispatch (from tornado>=4.0->ipykernel) Downloading singledispatch-3.4.0.3-py2.py3-none-any.whl Collecting ipython-genutils (from traitlets>=4.1.0->ipykernel) Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl Collecting decorator (from traitlets>=4.1.0->ipykernel) Downloading decorator-4.1.2-py2.py3-none-any.whl Collecting enum34; python_version == “2.7” (from traitlets>=4.1.0->ipykernel) Downloading enum34-1.1.6-py2-none-any.whl Collecting setuptools>=18.5 (from ipython>=4.0.0->ipykernel) Downloading setuptools-38.4.0-py2.py3-none-any.whl (489kB) 100% |████████████████████████████████| 491kB 47kB/s Collecting simplegeneric>0.8 (from ipython>=4.0.0->ipykernel) Collecting backports.shutil-get-terminal-size; python_version == “2.7” (from ipython>=4.0.0->ipykernel) Downloading backports.shutil_get_terminal_size-1.0.0-py2.py3-none-any.whl Collecting pygments (from ipython>=4.0.0->ipykernel) Downloading Pygments-2.2.0-py2.py3-none-any.whl (841kB) 100% |████████████████████████████████| 849kB 41kB/s Collecting appnope; sys_platform == “darwin” (from ipython>=4.0.0->ipykernel) Downloading appnope-0.1.0-py2.py3-none-any.whl Collecting pexpect; sys_platform != “win32” (from ipython>=4.0.0->ipykernel) Downloading pexpect-4.3.1-py2.py3-none-any.whl (55kB) 100% |████████████████████████████████| 61kB 60kB/s Collecting pickleshare (from ipython>=4.0.0->ipykernel) Downloading pickleshare-0.7.4-py2.py3-none-any.whl Collecting prompt-toolkit<2.0.0,>=1.0.4 (from ipython>=4.0.0->ipykernel) Downloading prompt_toolkit-1.0.15-py2-none-any.whl (247kB) 100% |████████████████████████████████| 256kB 31kB/s Collecting pathlib2; python_version == “2.7” or python_version == “3.3” (from ipython>=4.0.0->ipykernel) Downloading pathlib2-2.3.0-py2.py3-none-any.whl Collecting ptyprocess>=0.5 (from pexpect; sys_platform != “win32”->ipython>=4.0.0->ipykernel) Downloading ptyprocess-0.5.2-py2.py3-none-any.whl Collecting wcwidth (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=4.0.0->ipykernel) Downloading wcwidth-0.1.7-py2.py3-none-any.whl Collecting scandir; python_version < “3.5” (from pathlib2; python_version == “2.7” or python_version == “3.3”->ipython>=4.0.0->ipykernel) Installing collected packages: six, python-dateutil, ipython-genutils, decorator, enum34, traitlets, jupyter-core, pyzmq, jupyter-client, backports-abc, certifi, singledispatch, tornado, setuptools, simplegeneric, backports.shutil-get-terminal-size, pygments, appnope, ptyprocess, pexpect, scandir, pathlib2, pickleshare, wcwidth, prompt-toolkit, ipython, ipykernel Successfully installed appnope-0.1.0 backports-abc-0.5 backports.shutil-get-terminal-size-1.0.0 certifi-2017.11.5 decorator-4.1.2 enum34-1.1.6 ipykernel-4.7.0 ipython-5.5.0 ipython-genutils-0.2.0 jupyter-client-5.2.1 jupyter-core-4.4.0 pathlib2-2.3.0 pexpect-4.3.1 pickleshare-0.7.4 prompt-toolkit-1.0.15 ptyprocess-0.5.2 pygments-2.2.0 python-dateutil-2.6.1 pyzmq-16.0.3 scandir-1.6 setuptools-38.4.0 simplegeneric-0.8.1 singledispatch-3.4.0.3 six-1.11.0 tornado-4.5.3 traitlets-4.3.2 wcwidth-0.1.7 卸载 pip uninstall ipykernel Cannot uninstall requirement ipykernel, not installed

Python判断最近时间的问题

各位大虾好! 本小虾要写一个部署回滚的脚本,发现我们的模块命名规则是“模块名称.日期”的格式,如图: 图中可见这个叫messagedataserver的模块已经存在了4个历史版本和一个在用版本(在用版本是没有时间后缀的),那么请问python如何判断最近时间,这样可以在回滚的时候,能准确的定位到messagedataserver.2019_08_15_0316是时间最近的那个版本呢? 我目前的思路就是把所有的时间后缀转化成时间戳,然后在所有的时间戳里选出最大值,那么这个文件夹就是时间最近的,请问各位有没有更加优雅的办法?

python2和python3编码转换

python2服务端提供一个读取文件的接口如上图python3客户端请求上面py2的文件接口得到图中的text由于2&3之间的编码异同,请问,py3在得到py2返回的text后应该如何编码转换才能write成一个正确的文件(同源文件一致)?

python如何精确匹配

各位大虾好! 小弟有一个文件里面是这个样子: data_center = { access_key = { ak = “this is ak”, sk = “this is sk”, }, rc_server_port = 8989, rc_proxy_slb_port = 8990, } region = { id = “8”, access_key = { {ak = “this is ak”, sk = “this is sk”}, }, rtsp_url_key = “6y7u8i9o0p”, } 我现在想获取整个data_center这个节点的内容,于是我就如下写: key_start = ‘data_center’ key_end = ‘}’ pattern = re.compile(key_start+'(.*?)’+key_end,re.S) result = pattern.findall(data) print result 但是得到的结果是 [‘ \r\n\taccess_key = {\r\n\t\tak = “this is ak”, \r\n\t\tsk = “this is sk”,\r\n \t\t ‘] 也就是说匹配到了前一个“},”而不是后面那个“}”,请问我该怎么办? 第二个问题,我想得到的格式跟原来的一样,还是json的格式,请问我该怎么办?

用Python如何创建网站目录树?

我的数据结构是列表,用列表来表示网站的目录结构,如下图这样[‘http://example.webscraping.com/’, [‘places’, [‘default’, [‘haha’, [‘fuck’]], [‘view’, [‘afghanistan-1’]]]], [‘bitch’, [‘default’, [‘haha’, [‘fuck’]]]]] 现在我想利用bottle或者jinja2之类的框架里面自带的模板功能生成目录树保存在.html里,HTML的样式我都有模板了,就是生成目录树这块不知道怎么写,应该要用到递归吧?请问这个有什么思路或者有没有现成的代码可以参考下的?

python3如何才能实现在for循环里动态删除元素?

使用for循环一个二维数组,每个元素是一对用户名密码形式如[[‘admin’,123],[‘admin’,1234],…]以爆破一批帐号比如admin这个帐号错误超过5次就冻结无法再登录了,于是应该将剩下的所有用户名以admin的去除。我在循环里用filter函数把冻结的帐号去除并将此二维数组重新赋值,但好像不起作用,求解??? 去除的函数如下: self.CrackQueue=list(filter(lambda x:x[0]==’admin’,self.CrackQueue))

python3 如何遍历以下json数据

数据如下 { “message”:”abc”,”result”:{ “paramtypeitems”:[ {“name”:”基本参数”,”paramitems”:[ {“id”:567,”name”:”车型”,”valueitems”:[ {“specid”:37017,”value”:”xDrive40i M运动套装”}, {“specid”:37018,”value”:”xDrive40i 尊享型 M运动套装”}, {“specid”:33307,”value”:”xDrive28i”}] }] }] } }

如何快速熟悉一个python2项目

问题描述 如何快速熟悉一个python2项目? 问题出现的环境背景及自己尝试过哪些方法 项目url划分很不规范,同一个app中的路由函数,配置在不同urls文件中,还有一个app只提供model或者view,好多包都没见过,还百度不到。 相关代码 // 请把代码文本粘贴到下方(请勿用图片代替代码)from json_render import json_renderfrom django_query import get_query_valuefrom django_response import responsefrom pysnippets import strsnippets as ssnfrom TimeConvert import TimeConvert as tc tc.datetime_to_string(tc.to_local_datetime(profile.expire_time_answer)) import monetary monetary.Fen2Yuan(biz.tipping_left_amount, ndigits=2) django-logit 你期待的结果是什么?实际看到的错误信息又是什么? 有些都不知道怎么去用,这样的项目老板就允许熟悉一两天就着手开发新功能。

关于pywin32的完整键位码表

网上流传的键位码表如下: 字母和数字键 数字小键盘的键 功能键 其它键 键 键码 键 键码 键 键码 键 键码 A 65 0 96 F1 112 Backspace 8 B 66 1 97 F2 113 Tab 9 C 67 2 98 F3 114 Clear 12 D 68 3 99 F4 115 Enter 13 E 69 4 100 F5 116 Shift 16 F 70 5 101 F6 117 Control 17 G 71 6 102 F7 118 Alt 18 H 72 7 103 F8 119 Caps Lock 20 I 73 8 104 F9 120 Esc 27 J 74 9 105 F10 121 Spacebar 32 K 75 * 106 F11 122 Page Up 33 L 76 + 107 F12 123 Page Down 34 M 77 Enter 108 — — End 35 N 78 – 109 — — Home 36 O 79 . 110 — — Left Arrow 37 P 80 / 111 — — Up Arrow 38 Q 81 — — — — Right Arrow 39 R 82 — — — — Down Arrow 40 S 83 — — — — Insert 45 T 84 — — — — Delete 46 U 85 — — — — Help 47 V 86 — — — — Num Lock 144 其他未列出的字母和数字键盘为:ord(c) 我需要模拟Ctrl+0,使用如下代码完全没反应: win32api.keybd_event(17,0,0,0) win32api.keybd_event(96,0,0,0) win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0) win32api.keybd_event(96,0,win32con.KEYEVENTF_KEYUP,0) 于是想尝试除了小键盘的另一个数字0的键位码 关键是:其他未列出的字母和数字键盘为:ord(c) 没听懂这句话什么意思,有没有demo?除了小键盘的另一个数字0的键位码是多少?

django custom filter invalid error

我自定义了一个filer但加载的时候报错了 目录结构templates/ index.html ticket_track/ models.py views.py templatetags/ __init__.py my_filter.py ticket_request_system/ settings.py index.html {% extends “base.html” %} {% load my_filter %} {{ ticket.params|my_tag:”domain” }} my_filter.py #!/usr/bin/env python #coding:utf-8 from django import template import json register = template.Library() @register.filter def str_dic(format_string,args): return json.loads(format_string)[args] register.tag(‘my_tag’, str_dic) settings.py INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘ticket_track’ ] 报错信息如下: TemplateSyntaxError at /tickets/working Invalid filter: ‘my_tag’ Request Method: GET Request URL: http://ticket.web.isd.com/tickets/working Django Version: 1.11.1 Exception Type: TemplateSyntaxError Exception Value: Invalid filter: ‘my_tag’ Exception Location: /usr/local/lib/python2.7/site-packages/Django-1.11.1-py2.7.egg/django/template/base.py in parse, line 515 Python Executable: /usr/local/bin/python2.7 Python Version: 2.7.12 Python Path: [‘/data/release/ticket_request_system_test_env/code_alt’, ‘/usr/local/lib/python27.zip’, ‘/usr/local/lib/python2.7’, ‘/usr/local/lib/python2.7/plat-linux2’, ‘/usr/local/lib/python2.7/lib-tk’, ‘/usr/local/lib/python2.7/lib-old’, ‘/usr/local/lib/python2.7/lib-dynload’, ‘/usr/local/lib/python2.7/site-packages’, ‘/usr/local/lib/python2.7/site-packages/setuptools-25.2.0-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/requests-2.14.1-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/Django-1.11.1-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/pytz-2017.2-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/enum34-1.1.6-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/redis-2.10.5-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/supervisor-3.3.2-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/meld3-1.0.2-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/ChatterBot-0.6.2-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/SQLAlchemy-1.1.10-py2.7-linux-x86_64.egg’, ‘/usr/local/lib/python2.7/site-packages/python_twitter-3.3-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/pymongo-3.4.0-py2.7-linux-x86_64.egg’, ‘/usr/local/lib/python2.7/site-packages/nltk-3.2.4-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/jsondatabase-0.1.7-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/chatterbot_corpus-0.0.1-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/requests_oauthlib-0.8.0-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/future-0.16.0-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/six-1.10.0-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/oauthlib-2.0.2-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/db.py-0.5.3-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/pybars3-0.9.3-py2.7.egg’, ‘/usr/local/lib/python2.7/site-packages/pandas-0.20.2-py2.7-linux-x86_64.egg’, ‘/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg’, ‘/data/release/ticket_request_system_test_env/code_alt’] Server time: Fri, 15 Dec 2017 11:15:20 +0800 我是按照django的官方文档配置的..这个错误为啥有,麻烦大神帮忙看看

ImportError: cannot import name InnerObjectWrapper

Python 2.7.12 ,elasticsearch 6.2.0elasticsearch-dsl 6.1.0 from elasticsearch_dsl import InnerObjectWrapper Traceback (most recent call last): File “<stdin>”, line 1, in <module> ImportError: cannot import name InnerObjectWrapper 在elasticsearch-dsl 2.版本中,from elasticsearch_dsl import InnerObjectWrapper还是不会出错的,在6.版本中,就不支持了,求解

python 多层文件夹引入py文件,找不到包

/A//A/a1/A/a2/B//B/b1/B/b2 in.py 单引入A文件夹下的a1,a2;或者单引入B文件夹下的b1,b2;两者都没问题 但是我需要在A中引入B文件夹的b1,b2(这步已经解决)然后再in.py 中引入A中的包(这步就出现错误:NO Module named) 请问怎么解决这个问题

python2和python3的hashlib md5 值不同求解

各位我在python2.7 生成一个md5python2 = hashlib.md5(‘abc’).hexdigest()python3 = hashlib.md5(‘abc’.encode(‘utf-8’).hexdigest() 得到结果不同,3里要求必须先编码,否则会抱错,请问怎么才能让两边的值相同,现在是 python3是个接口服务器,从headers里拿过来验证。

python 的类里是否有一个类似于__str__的数值类型的方法?

请问python 的类里是否有一个类似于__str__的数值类型的方法,可以通过实例名称直接得到一个值,从而直接进行运算,比如在下边的代码中可以直接进行p1 + p2,而不用写p1.age + p2.age?我知道有一个__add__方法,但是对于2+p1这样的运算会报错,不够理想。谢谢大家。 class person(object): def __init__(self, name, age): self.name = name self.age = age def info(self): print “name:%s, age:%d” % (self.name, self.age) def __str__(self): return “%d” % self.age def __value__(self): return self.age p1 = person(“jack”, 30) p2 = person(“tom”, 29) p1.info() p2.info() print p1 print p2 print p1 + p2

使用pandas读取excel终端直接乱码该怎么解决?

用 pandas(0.19.2) 读取 excel 文件内容,本地的 xlrd 也是最新版本代码如下: dataframe = pd.read_excel(file_url, header=1,skiprows=1) 结果终端乱码,kill 掉也无济于事,想知道这是什么问题导致的。。。 按照网上的示例,加上了终端的中文支持设置,但是似乎并没有效果,感觉问题不是在这里

关于python requests百度搜索至15页搜索结果被自动省略无法跳过

1.想python requests造个百度搜索轮子结果遭遇大坑 url模板是: url=f”https://www.baidu.com/s?wd={searchText}&cl=0&pn=页数” headers: {‘Accept-Encoding’:’gzip, deflate, br’, ‘Accept-Language’: ‘en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7’, ‘Cache-Control’: ‘max-age=0’, ‘Connection’:’keep-alive’, ‘Host’:’www.baidu.com’, #’is_xhr’:’1′, ‘User-Agent’:’Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0′, #’Referer’:”, #’is_referer’:”, ‘X-Requested-With’:’XMLHttpRequest’} for循环至十五页就遇上了:>提示:为了提供最相关的结果,我们省略了一些内容相似的条目电脑浏览器可以绕过请问百度其是否有检测机制,如何绕过,?

python3 二维数组的切片

dims = np.array([[1, 2, 3, 4],[5, 6, 7, 8]]) c = 2 result = dims[c/2::1, c/2::1] 这个在python2.7.10上运行无问题,但在python3.6.2上报错 TypeError: slice indices must be integers or None or have an __index__ method

pandas中判断一个字符是否包含另一个字符,判断不出来

下面这段代码是为了判断 CSV 文件中的 ‘keywords’ 列中的每个元素是否包含字符 ‘based on novel’,然后输出 ‘if_novel’ 列,但是运行之后,if 的情况并没有执行,全部是 else 的结果: import pandas as pd movies = pd.read_csv(‘movies.csv’) def if_novel(data): if “based on novel” in str(data): movies[‘if_novel’] = ‘Based on novel’ else: movies[‘if_novel’] = ‘Not based on novel’ movies[‘keywords’].map(if_novel)

Python字符转化问题

https://www.noscodespromo.com…爬取这个页面的时候,已经字符转义(头部import sysreload(sys)sys.setdefaultencoding(‘utf-8’)也对源码进行decode(“windows-1252”).encode(“utf-8”))但就是正则匹配的时候相关字符还是被转了求高手指教

怎样使用python按格式读取?

大家好,我有一个文本文件需要读取,该文件由数据头和主体组成,其内容形式如下: this is a technical data file…………COMMENT the creator : Adams………………….COMMENT 2017.05.10……………………………..THE FIRST TIME ……………………………………………..END OF HEADER OA 10123.4532 12345.0102 -1827734.3475 -1893255.1023 45.12 23.01 8923.12 XB 10125.4132 13345.0702 -1843734.7875 -1834255.1913 44.12 23.02 8924.12 … … ………………………………………………END OF FILE 我需要使用python2来读取该文本文件,使之成为如下形式:10123.45 12345.01 -1827734.34 -1893255.1010125.41 13345.07 -1843734.78 -1834255.19… 请问如何实现上述读取?按照一般语高级语言可以使用格式化读取,但python好像没有这一类用法。如: with open(‘example.txt’, ‘r’) as f: f.read(‘%15.2f’)… or f.readline(‘%15.2f’)??

scrapy 中如何在yield requests后返回相应的状态或数据?

要爬取的是一系列页面,但不知道一共有多少页,假设100最大100页,希望当页面没有相应json数据的时候跳出整个循环,高手能指点一下吗? def start_requests(self): for _link in self.start_urls: for i in range(1,100):: link = _link.replace(‘number’,str(stock_no)).replace(‘rgs’,rgs) requests = Request( url=link, meta={“sto”:sto}, callback=self.godetail ) yield requests

Python + javascript Websocket 联动问题 “ERR_INVALID_HTTP_RESPONSE”

新萌入坑python socket编程:调试时,web端只要一建立websocket连接就直接挂了,错误信息如下: WebSocket connection to ‘ws://localhost:21567/’ failed: Error during WebSocket handshake: net::ERR_INVALID_HTTP_RESPONSE javascript 代码是在服务器运行起来后,随便找了个浏览器的console里面写的。是否是因为“前后分离”或者“被服务器过滤造”成此错误,请大家帮忙看看为什么。 附:服务端代码 # coding=utf-8 from socket import * HOST = ” PORT = 21567 BUFSIZ = 1024 ADDR = (HOST, PORT) tcp_ser_sock = socket(AF_INET, SOCK_STREAM) tcp_ser_sock.bind(ADDR) tcp_ser_sock.listen(10) while True: conn, addr = tcp_ser_sock.accept() print(‘connection, from {}’.format(addr)) while True: data = conn.recv(BUFSIZ) if not data: break conn.send(‘Feedback Data => {}’.format(data)) conn.close() tcp_ser_sock.close() 附:javascript代码 var ws = new WebSocket(“ws://localhost:21567”);

python request 连接一个收费HTTPS代理IP失败问题

当我不使用HTTPS或者使用使用别家的HTTPS代理是,都能正常,但是唯独使用这家的HTTPS时发生握手失败问题 proxies = { ‘http’:”http://175.172.81.174:5324″, ‘https’:”http://175.172.81.174:5324″, } import requests r = requests.get(“https://weibo.com/signup/signup.php”,proxies=proxies,verify=False) HTTPSConnectionPool(host=’weibo.com’, port=443): Max retries exceededwith url: /signup/signup.php (Caused by SSLError(SSLError(1, u'[SSL:UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:661)’),)) 当使用下面代码时,每次都能成功: from OpenSSL import SSL import socket proxies = { ‘http’:”http://175.172.81.174:5324″, ‘https’:”http://175.172.81.174:5324″, } headers = “””GET https://weibo.com/signup/signup.php HTTP/1.1 Host: weibo.com Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Referer: https://weibo.com/ Accept-Language: zh-CN,zh;q=0.8\r\n\r\n “”” def verify_cb(conn, cert, errun, depth, ok): return True server = ‘weibo.com’ port = 443 PROXY_ADDR = (“175.172.81.174”, 5324) CONNECT = “CONNECT %s:%s HTTP/1.1\r\nConnection: close\r\n\r\n” % (server, port) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(PROXY_ADDR) s.send(CONNECT) print s.recv(4096) ctx = SSL.Context(SSL.TLSv1_METHOD) ctx.set_verify(SSL.VERIFY_PEER, verify_cb) ss = SSL.Connection(ctx, s) ss.set_connect_state() ss.do_handshake() cert = ss.get_peer_certificate() print cert.get_subject() ss.send(headers) print ss.recv(3000) ss.shutdown() ss.close() 有办法让Requests正常使用这个代理IP吗,如果你愿意帮我测试,请提供给我你的IP,因为使用这个代理前需要授权

python2和python3编码转换

python2服务端提供一个读取文件的接口如上图python3客户端请求上面py2的文件接口得到图中的text由于2&3之间的编码异同,请问,py3在得到py2返回的text后应该如何编码转换才能write成一个正确的文件(同源文件一致)?

关于pywin32的完整键位码表

网上流传的键位码表如下: 字母和数字键 数字小键盘的键 功能键 其它键 键 键码 键 键码 键 键码 键 键码 A 65 0 96 F1 112 Backspace 8 B 66 1 97 F2 113 Tab 9 C 67 2 98 F3 114 Clear 12 D 68 3 99 F4 115 Enter 13 E 69 4 100 F5 116 Shift 16 F 70 5 101 F6 117 Control 17 G 71 6 102 F7 118 Alt 18 H 72 7 103 F8 119 Caps Lock 20 I 73 8 104 F9 120 Esc 27 J 74 9 105 F10 121 Spacebar 32 K 75 * 106 F11 122 Page Up 33 L 76 + 107 F12 123 Page Down 34 M 77 Enter 108 — — End 35 N 78 – 109 — — Home 36 O 79 . 110 — — Left Arrow 37 P 80 / 111 — — Up Arrow 38 Q 81 — — — — Right Arrow 39 R 82 — — — — Down Arrow 40 S 83 — — — — Insert 45 T 84 — — — — Delete 46 U 85 — — — — Help 47 V 86 — — — — Num Lock 144 其他未列出的字母和数字键盘为:ord(c) 我需要模拟Ctrl+0,使用如下代码完全没反应: win32api.keybd_event(17,0,0,0) win32api.keybd_event(96,0,0,0) win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0) win32api.keybd_event(96,0,win32con.KEYEVENTF_KEYUP,0) 于是想尝试除了小键盘的另一个数字0的键位码 关键是:其他未列出的字母和数字键盘为:ord(c) 没听懂这句话什么意思,有没有demo?除了小键盘的另一个数字0的键位码是多少?

关于python requests百度搜索至15页搜索结果被自动省略无法跳过

1.想python requests造个百度搜索轮子结果遭遇大坑 url模板是: url=f”https://www.baidu.com/s?wd={searchText}&cl=0&pn=页数” headers: {‘Accept-Encoding’:’gzip, deflate, br’, ‘Accept-Language’: ‘en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7’, ‘Cache-Control’: ‘max-age=0’, ‘Connection’:’keep-alive’, ‘Host’:’www.baidu.com’, #’is_xhr’:’1′, ‘User-Agent’:’Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0′, #’Referer’:”, #’is_referer’:”, ‘X-Requested-With’:’XMLHttpRequest’} for循环至十五页就遇上了:>提示:为了提供最相关的结果,我们省略了一些内容相似的条目电脑浏览器可以绕过请问百度其是否有检测机制,如何绕过,?

python字典如何计算键值对的总数

{‘a’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘b’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘c’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘d’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘e’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘f’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’), ‘g’: (‘123123’, ‘asdasd’, ‘123asd’, ‘000000’, ‘111111’, ‘123456’, ‘1234567’, ‘12345678’, ‘123456789’, ‘a123456’)} 如上,键值对有70,使用len()方法只能得出7,求在最好不用FOR循环的情况用dict对象最优的自带方法使结果为70(如果有的话)

如何快速熟悉一个python2项目

问题描述 如何快速熟悉一个python2项目? 问题出现的环境背景及自己尝试过哪些方法 项目url划分很不规范,同一个app中的路由函数,配置在不同urls文件中,还有一个app只提供model或者view,好多包都没见过,还百度不到。 相关代码 // 请把代码文本粘贴到下方(请勿用图片代替代码)from json_render import json_renderfrom django_query import get_query_valuefrom django_response import responsefrom pysnippets import strsnippets as ssnfrom TimeConvert import TimeConvert as tc tc.datetime_to_string(tc.to_local_datetime(profile.expire_time_answer)) import monetary monetary.Fen2Yuan(biz.tipping_left_amount, ndigits=2) django-logit 你期待的结果是什么?实际看到的错误信息又是什么? 有些都不知道怎么去用,这样的项目老板就允许熟悉一两天就着手开发新功能。

python3如何才能实现在for循环里动态删除元素?

使用for循环一个二维数组,每个元素是一对用户名密码形式如[[‘admin’,123],[‘admin’,1234],…]以爆破一批帐号比如admin这个帐号错误超过5次就冻结无法再登录了,于是应该将剩下的所有用户名以admin的去除。我在循环里用filter函数把冻结的帐号去除并将此二维数组重新赋值,但好像不起作用,求解??? 去除的函数如下: self.CrackQueue=list(filter(lambda x:x[0]==’admin’,self.CrackQueue))

Python3.7 和 Python2.7 在使用 map 和 lambda 的问题

下面是一段使用 split 分割字符串的代码,分别使用 Python2.7 和 Python3.7 执行 def mySplit(s, cut): data = [s] for i in cut: t = [] map(lambda x: t.extend(x.split(i)), data) data = t return [i for i in data if i] s = ‘ab;cd|efg|hi,,jkl|mn\topq;rst,uvw\txyz’ print(mySplit(s, ‘,;|\t’)) 运行结果: Geek-Mac:Downloads zhangyi$ python2.7 Nice.py [‘ab’, ‘cd’, ‘efg’, ‘hi’, ‘jkl’, ‘mn’, ‘opq’, ‘rst’, ‘uvw’, ‘xyz’] Geek-Mac:Downloads zhangyi$ python3.7 Nice.py [] Geek-Mac:Downloads zhangyi$ 由运行结果可知, Python2.7 运行正常,但是换成 Python3.7 执行就出现了问题。 如果换成循环就正常执行,我想知道是哪里出了问题,是 map、lambda 还是其他的的问题,望大神指点,不吝指教,多谢! def mySplit(s, cut): data = [s] for i in cut: t = [] for x in data: t.extend(x.split(i)) data = t return [i for i in data if i] s = ‘ab;cd|efg|hi,,jkl|mn\topq;rst,uvw\txyz’ print(mySplit(s, ‘,;|\t’)) 运行结果: Geek-Mac:Downloads zhangyi$ python3.7 Nice.py [‘ab’, ‘cd’, ‘efg’, ‘hi’, ‘jkl’, ‘mn’, ‘opq’, ‘rst’, ‘uvw’, ‘xyz’] Geek-Mac:Downloads zhangyi$ python2.7 Nice.py [‘ab’, ‘cd’, ‘efg’, ‘hi’, ‘jkl’, ‘mn’, ‘opq’, ‘rst’, ‘uvw’, ‘xyz’] Geek-Mac:Downloads zhangyi$

python3 如何遍历以下json数据

数据如下 { “message”:”abc”,”result”:{ “paramtypeitems”:[ {“name”:”基本参数”,”paramitems”:[ {“id”:567,”name”:”车型”,”valueitems”:[ {“specid”:37017,”value”:”xDrive40i M运动套装”}, {“specid”:37018,”value”:”xDrive40i 尊享型 M运动套装”}, {“specid”:33307,”value”:”xDrive28i”}] }] }] } }

python 多层文件夹引入py文件,找不到包

/A//A/a1/A/a2/B//B/b1/B/b2 in.py 单引入A文件夹下的a1,a2;或者单引入B文件夹下的b1,b2;两者都没问题 但是我需要在A中引入B文件夹的b1,b2(这步已经解决)然后再in.py 中引入A中的包(这步就出现错误:NO Module named) 请问怎么解决这个问题

ImportError: cannot import name InnerObjectWrapper

Python 2.7.12 ,elasticsearch 6.2.0elasticsearch-dsl 6.1.0 from elasticsearch_dsl import InnerObjectWrapper Traceback (most recent call last): File “<stdin>”, line 1, in <module> ImportError: cannot import name InnerObjectWrapper 在elasticsearch-dsl 2.版本中,from elasticsearch_dsl import InnerObjectWrapper还是不会出错的,在6.版本中,就不支持了,求解

Python + javascript Websocket 联动问题 “ERR_INVALID_HTTP_RESPONSE”

新萌入坑python socket编程:调试时,web端只要一建立websocket连接就直接挂了,错误信息如下: WebSocket connection to ‘ws://localhost:21567/’ failed: Error during WebSocket handshake: net::ERR_INVALID_HTTP_RESPONSE javascript 代码是在服务器运行起来后,随便找了个浏览器的console里面写的。是否是因为“前后分离”或者“被服务器过滤造”成此错误,请大家帮忙看看为什么。 附:服务端代码 # coding=utf-8 from socket import * HOST = ” PORT = 21567 BUFSIZ = 1024 ADDR = (HOST, PORT) tcp_ser_sock = socket(AF_INET, SOCK_STREAM) tcp_ser_sock.bind(ADDR) tcp_ser_sock.listen(10) while True: conn, addr = tcp_ser_sock.accept() print(‘connection, from {}’.format(addr)) while True: data = conn.recv(BUFSIZ) if not data: break conn.send(‘Feedback Data => {}’.format(data)) conn.close() tcp_ser_sock.close() 附:javascript代码 var ws = new WebSocket(“ws://localhost:21567”);