Python语法错误:TypeError: string indices must be integers

是这样的,这是个Python爬虫程序,有时候会中断 到这个地方,是字符串下标不对?
图片说明

图片说明

图片说明

2个回答

try:
    ob_json = json.loads(response.text)
except :
    ob_json = ''

endTag = ob_json['ok']

A. 说个题外话,except 一般要打印报错内容,现在这样写风险很大,不是好习惯
B. 看报错,提示字符串下标得是整型,说明你ob_json不是字典结构而是字符串,可能是执行了except内的语句: ob_json = '',此时你对字符串取['ok'],自然会报错,下面的报错同理
C. 另外,对于字典取key值,建议用get,相对保险些,且字典中无key时,可指定默认值

异常显示这个 JSON 是 list 那么访问就不能用‘ok’字符串下标。可以先打印下,然后用数字下标访问。

wojiushiwo945you
毕小宝 回复YPP_: ob_json['ok']是取 字典的 ok 属性,但是这里不是字典类型,不能这么用。
4 个月之前 回复
yppsniper
YPP_ 谢谢!看来就是下标的问题,ob_json['ok']这个有什么含义呢? 我没找到list在哪 也不知道下标是什么
4 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python温度转换提示“TypeError: string indices must be integers”
``` TempStr=(input("请输入带有符号的温度值:")) if TempStr[-1] in ['F','f']: C = (eval(TempStr[0,-1] - 32))/1.8 print("转换后的温度是{:.2f}C".format(C)) elif TempStr[-1] in['C','c']: F = 1.8*eval(TempStr[0,-1]) + 32 print("转换后的温度是{:.2f}F".format(F)) else: print("输入错误") ``` **TypeError: string indices must be integers** 环境python3.7.2。麻烦大神帮忙看看,新手。
python问题:TypeError: expected string or buffer
``` import requests import re #这是用requests进行的数据爬取 url = 'https://car.autohome.com.cn/photo/series/26709/1/3793691.html' html = requests.get(url) # print (html.text) img_url = re.findall(r'<img id="img" src="(.*?)"',html)[0] img_url = 'http:' + img_url print(img_url) img_response = requests.get(img_url) img_data = img_response.content f = open('2.jpg','wb') f.write(img_data) f.close() 报错: Traceback (most recent call last): File "D:/Java/Python/src/hao/__init__.py", line 9, in <module> img_url = re.findall(r'<img id="img" src="(.*?)"',html)[0] File "C:\Python27\lib\re.py", line 181, in findall return _compile(pattern, flags).findall(string) TypeError: expected string or buffer ```
爬取知乎信息报错--TypeError: string indices must be integers
``` ``` import requests import json import pymysql num=0 #设定爬取次数 user_all=[] #存放本次运行的用户 def get_url(url): #获取链接内容 header_info = { "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36', } user_url =url response =requests.get(user_url, headers=header_info) data = response.content data = data.decode('utf-8') #设置字符集 return data def get_follower(userID): #解析内容,获取关注用户 list=[] url = 'https://www.zhihu.com/api/v4/members/'+userID+'/followees?' \ 'include=data%5B*%5D.answer_count%2Carticles_count%2Cgender%2Cfollower_count%' \ '2Cis_followed%2Cis_following%2Cbadge%5B%3F(type%3Dbest_answerer)%5D.topics&offset=0&limit=20' data = get_url(url) data = json.loads(data) print(data) for user in data: list.append(user['url_token']) return list get_follower('kaiqu') ``` 报错信息 TypeError Traceback (most recent call last) <ipython-input-22-0194a6f553cc> in <module> 32 33 ---> 34 get_follower('kaiqu') 35 36 <ipython-input-22-0194a6f553cc> in get_follower(userID) 28 print(data) 29 for user in data: ---> 30 list.append(user['url_token']) 31 return list 32 TypeError: string indices must be integers
Python初学者:TypeError
# -*- coding: utf-8 -*- print ("你好") print("what is your name \nTom") number_list=[1,2,3,4] print("number list="+str(number_list)) # string_list=["abd","bbc","python"] string_list = ["abc", "bbc", "python"] print("string_list="+string_list) TypeError: Can't convert 'list' object to str implicitly
matplotlib: TypeError: unsupported operand type(s) for -: 'str' and 'float'求解决
![图片说明](https://img-ask.csdn.net/upload/201909/08/1567935208_587892.png) df6是整体数据 出现这个错误 matplotlib: TypeError: unsupported operand type(s) for -: 'str' and 'float' 我知道可能是字符串类型有问题,但是我没找到具体在代码上怎么实现 我的region_是object,area是float
求解报错TypeError: slice indices must be integers or None or have an __index__ method
运行环境 pycharm2019.2.3 python 3.7 TensorFlow 2.0 代码如下 ``` import tensorflow as tf import numpy as np class DataLoader(): def __init__(self): path = tf.keras.utils.get_file('nietzsche.txt', origin='https://s3.amazonaws.com/text-datasets/nietzsche.txt') with open(path, encoding='utf-8') as f: self.raw_text = f.read().lower() self.chars = sorted(list(set(self.raw_text))) self.char_indices = dict((c, i) for i, c in enumerate(self.chars)) self.indices_char = dict((i, c) for i, c in enumerate(self.chars)) self.text = [self.char_indices[c] for c in self.raw_text] def get_batch(self, seq_length, batch_size): seq = [] next_char = [] for i in range(batch_size): index = np.random.randint(0, len(self.text) - seq_length) seq.append(self.text[index:index + seq_length]) next_char.append(self.text[index + seq_length]) return np.array(seq), np.array(next_char) # [batch_size, seq_length], [num_batch] class RNN(tf.keras.Model): def __init__(self, num_chars, batch_size, seq_length): super().__init__() self.num_chars = num_chars self.seq_length = seq_length self.batch_size = batch_size self.cell = tf.keras.layers.LSTMCell(units=256) self.dense = tf.keras.layers.Dense(units=self.num_chars) def call(self, inputs, from_logits=False): inputs = tf.one_hot(inputs, depth=self.num_chars) # [batch_size, seq_length, num_chars] state = self.cell.get_initial_state(batch_size=self.batch_size, dtype=tf.float32) for t in range(self.seq_length): output, state = self.cell(inputs[:, t, :], state) logits = self.dense(output) if from_logits: return logits else: return tf.nn.softmax(logits) num_batches = 10 seq_length = 40 batch_size = 50 learning_rate = 1e-3 data_loader = DataLoader() model = RNN(num_chars=len(data_loader.chars), batch_size=batch_size, seq_length=seq_length) optimizer = tf.keras.optimizers.Adam(learning_rate=learning_rate) for batch_index in range(num_batches): X, y = data_loader.get_batch(seq_length, batch_size) with tf.GradientTape() as tape: y_pred = model(X) loss = tf.keras.losses.sparse_categorical_crossentropy(y_true=y, y_pred=y_pred) loss = tf.reduce_mean(loss) print("batch %d: loss %f" % (batch_index, loss.numpy())) grads = tape.gradient(loss, model.variables) optimizer.apply_gradients(grads_and_vars=zip(grads, model.variables)) def predict(self, inputs, temperature=1.): batch_size, _ = tf.shape(inputs) logits = self(inputs, from_logits=True) prob = tf.nn.softmax(logits / temperature).numpy() return np.array([np.random.choice(self.num_chars, p=prob[i, :]) for i in range(batch_size.numpy())]) X_, _ = data_loader.get_batch(seq_length, 1) for diversity in [0.2, 0.5, 1.0, 1.2]: X = X_ print("diversity %f:" % diversity) for t in range(400): y_pred = model.predict(X, diversity) print(data_loader.indices_char[y_pred[0]], end='', flush=True) X = np.concatenate([X[:, 1:], np.expand_dims(y_pred, axis=1)], axis=-1) print("\n") ``` 报错: ``` Python 3.7.4 (default, Aug 9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] on win32 runfile('F:/pyth/pj3/study3.py', wdir='F:/pyth/pj3') batch 0: loss 4.041161 batch 1: loss 4.026710 batch 2: loss 4.005230 batch 3: loss 3.983728 batch 4: loss 3.920999 batch 5: loss 3.864793 batch 6: loss 3.644211 batch 7: loss 3.375458 batch 8: loss 3.620051 batch 9: loss 3.382381 diversity 0.200000: Traceback (most recent call last): File "<input>", line 1, in <module> File "D:\Program Files\JetBrains\PyCharm 2019.2.3\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile pydev_imports.execfile(filename, global_vars, local_vars) # execute the script File "D:\Program Files\JetBrains\PyCharm 2019.2.3\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "F:/pyth/pj3/study3.py", line 97, in <module> y_pred = model.predict(X, diversity) File "D:\ProgramData\Anaconda3\envs\kingtf2\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 909, in predict use_multiprocessing=use_multiprocessing) File "D:\ProgramData\Anaconda3\envs\kingtf2\lib\site-packages\tensorflow_core\python\keras\engine\training_arrays.py", line 722, in predict callbacks=callbacks) File "D:\ProgramData\Anaconda3\envs\kingtf2\lib\site-packages\tensorflow_core\python\keras\engine\training_arrays.py", line 362, in model_iteration batch_ids = index_array[batch_start:batch_end] TypeError: slice indices must be integers or None or have an __index__ method ``` 可能有问题的地方: ``` for diversity in [0.2, 0.5, 1.0, 1.2]: X = X_ print("diversity %f:" % diversity) for t in range(400): y_pred = model.predict(X, diversity) print(data_loader.indices_char[y_pred[0]], end='', flush=True) X = np.concatenate([X[:, 1:], np.expand_dims(y_pred, axis=1)], axis=-1) print("\n") ``` ``` def predict(self, inputs, temperature=1.): batch_size, _ = tf.shape(inputs) logits = self(inputs, from_logits=True) prob = tf.nn.softmax(logits / temperature).numpy() return np.array([np.random.choice(self.num_chars, p=prob[i, :]) for i in range(batch_size.numpy())]) ```
TypeError: cannot use a string pattern on a bytes-like object
``` import requests import string import csv import re import codecs r = requests.get('http://zq.win007.com/jsData/teamInfo/teamDetail/tdl1419.js') tmp = r.content m = re.findall(r"(\[\d{7}.*.\];)", tmp)[0] m = m.split('],[') for i in m: i = re.sub(r"\^.*?'", "", i) i = re.sub(r"[\]\[;\']", "", i) i = re.sub(r"#[0-9A-Za-z]{6},", "", i) i = re.sub(r"\d{7},", "", i) with open('test.csv', 'a+') as f: f.write(codecs.BOM_UTF8) f_csv = csv.writer(f) tmp = i.split(",") f_csv.writerow(tmp) ``` TypeError: cannot use a string pattern on a bytes-like object
Python使用类装饰器出现报错:TypeError: test2() missing 1 required positional argument: 'b'
```python class Timer(object): def __init__(self, func): self.func = func def __call__(self, *args, **kwargs): print("权限验证成功...") result = self.func(*args, **kwargs) print("新添加退出成功提示...") return result class Test(object): @Timer def test2(self, a, b): # 需要参数的 c = a + b print("test2两个数的求和结果是:", c) t = Test() t.test2(2, 3) ``` 出现报错:TypeError: test2() missing 1 required positional argument: 'b' 为什么会出现selef必须传参呢,如果在test2上面添加@staticmethod删除selef参数将不会出现报错,但是这不符合装饰器的用法了,应该怎么改才能使得Test类不该任何代码的情况下加@Timer就能直接使用呢
就剩这个问题没解决了:TypeError: 'function' object is not subscriptable拜托请教大家!
![图片说明](https://img-ask.csdn.net/upload/201912/07/1575709842_231822.png)![图片说明](https://img-ask.csdn.net/upload/201912/07/1575709860_77315.png) import pandas as pd import numpy as np from GM11 import GM11 # 引入自己编写的灰色预测函数 data = pd.read_csv('D:\\软件\\python\\《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\\' '《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\\数据及代码\\chapter13\\test\\data\\data1.csv',engine='python') data.index = range(1994,2014) data data.loc[2014] = None data.loc[2015] = None h = ['x1', 'x2', 'x3', 'x4', 'x5', 'x7'] P = [] C = [] for i in h: gm = GM11(data[i][:-2].values)[0] # 利用返回的灰色预测函数,仅和对对应期数及位置有关 f = gm([0] ) ##获得灰色预测函数 P = gm[-1] # 获得小残差概率 C = gm[-2] # 获得后验比差值 data[i][2014] = f(len(data) - 1) data[i][2015] = f(len(data)) data[i] = data[i].round(2) if (C < 0.35 and P > 0.95): # 评测后验差判别 print( '对于模型%s,该模型精度为---好' % i) elif (C < 0.5 and P > 0.8): print('对于模型%s,该模型精度为---合格' % i) elif (C < 0.65 and P > 0.7): print('对于模型%s,该模型精度为---勉强合格' % i) else: print('对于模型%s,该模型精度为---不合格' % i) data[h + ['y']].to_excel('D:\\软件\\python\\《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\\' '《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\\数据及代码\\chapter13\\test\\data\\2_1_2_1greyPredict(最新5).xlsx') 补充: gm为自定义函数: def GM11(x0): #自定义灰色预测函数 import numpy as np x1 = x0.cumsum() #1-AGO序列 z1 = (x1[:len(x1)-1] + x1[1:])/2.0 #紧邻均值(MEAN)生成序列 z1 = z1.reshape((len(z1),1)) B = np.append(-z1, np.ones_like(z1), axis = 1) Yn = x0[1:].reshape((len(x0)-1, 1)) [[a],[b]] = np.dot(np.dot(np.linalg.inv(np.dot(B.T, B)), B.T), Yn) #计算参数 f = lambda k: (x0[0]-b/a)*np.exp(-a*(k-1))-(x0[0]-b/a)*np.exp(-a*(k-2)) #还原值 delta = np.abs(x0 - np.array([f(i) for i in range(1,len(x0)+1)])) C = delta.std()/x0.std() P = 1.0*(np.abs(delta - delta.mean()) < 0.6745*x0.std()).sum()/len(x0) return f, a, b, x0[0], C, P #返回灰色预测函数、a、b、首项、方差比、小残差概率
实在解决不了再请教了:TypeError: unsupported operand type(s) for -: 'list' and 'int'
![图片说明](https://img-ask.csdn.net/upload/201912/07/1575713654_326318.png)![图片说明](https://img-ask.csdn.net/upload/201912/07/1575713668_751576.png) import pandas as pd import numpy as np from numpy import * from GM11 import GM11 # 引入自己编写的灰色预测函数 data = pd.read_csv('D:\\软件\\python\\《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\\' '《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\\数据及代码\\chapter13\\test\\data\\data1.csv',engine='python') data.index = range(1994,2014) data data.loc[2014] = None data.loc[2015] = None h = ['x1', 'x2', 'x3', 'x4', 'x5', 'x7'] P = [] C = [] for i in h[:2]: gm = GM11(data[i][:-2].values)[0] # 利用返回的灰色预测函数,仅和对对应期数及位置有关 f = gm([0])##获得灰色预测函数 P = gm[-1]# 获得小残差概率 C = gm[-2] # 获得后验比差值 data[i][2014] = f(len(data) - 1) data[i][2015] = f(len(data)) data[i] = data[i].round(2) if (map(int,C) < 0.35 and map(int,P) > 0.95): # 评测后验差判别 print( '对于模型%s,该模型精度为---好' % i) elif (map(int,C) < 0.5 and map(int,P) > 0.8): print('对于模型%s,该模型精度为---合格' % i) elif (map(int,C)< 0.65 and map(int,P) > 0.7): print('对于模型%s,该模型精度为---勉强合格' % i) else: print('对于模型%s,该模型精度为---不合格' % i) data[h + ['y']].to_excel('D:\\软件\\python\\《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\\' '《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\\数据及代码\\chapter13\\test\\data\\2_1_2_1greyPredict(最新5).xlsx') ``` ```
如何解决TypeError: expected string or buffer?
求助代码 import urllib2 import re import os headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0", } urlcontent = urllib2.urlopen('http://news.qq.com/a/20120506/index.htm') #print urlcontent rege = re.compile(r"/a/\d{8}/\d{6}.htm") get_url = re.findall(rege,urlcontent) print get_url exit() 会报错 C:\Users\Min\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/Min/PycharmProjects/untitled/tcpy2.py Traceback (most recent call last): File "C:/Users/Min/PycharmProjects/untitled/tcpy2.py", line 8, in <module> get_url = re.findall(rege,urlcontent) File "C:\Users\Min\PycharmProjects\untitled\venv\lib\re.py", line 181, in findall return _compile(pattern, flags).findall(string) TypeError: expected string or buffer Process finished with exit code 1
python中报TypeError: __init__() missing 2 required positional arguments: 'url' and 'method'
demo1.py代码如下: import requests class RunMain: def __init__(self,url,method,data=None): self.res = self.run_main(url,method,data) def send_get(self,url,data): res = requests.get(url=url,data=data) return res.json() def send_post(self,url,data): res = requests.post(url=url,data=data) return res.json() def run_main(self,url,method,data=None): res = None if method == 'GET': res = self.send_get(url,data) else: res = self.send_post(url,data) return res if __name__ == '__main__': url = 'http://www.imooc.com/m/web/shizhanapi/loadmorepingjia.html' data = { 'cart': '11' } run = RunMain(url,'GET',data) print(run.res) test_method1.py代码如下: #coding = utf-8 import unittest from demo1 import RunMain class TestMethod(unittest.TestCase): def setUp(self): self.run = RunMain() def test_01(self): url = 'http://coding.imooc.com/api/cate' data = { 'timestamp': '1507034803124', 'uid': '5249191', 'uuid': '5ae7d1a22c82fb89c78f603420870ad7', 'secrect': '078474b41dd37ddd5efeb04aa591ec12', 'token': '7d6f14f21ec96d755de41e6c076758dd', 'cid': '0' } res = self.run.run_main(url,'POST',data) print(res) def test_02(self): url = 'http://coding.imooc.com/api/cate' data = { 'timestamp': '1507034803124', 'uid': '5249192', 'uuid': '5ae7d1a22c82fb89c78f603420870ad7', 'secrect': '078474b41dd37ddd5efeb04aa591ec12', 'token': '7d6f14f21ec96d755de41e6c076758dd', 'cid': '0' } res = self.run.run_main(url,'POST',data) print(res) if __name__ == '__main__': unittest.main(url,method) 但是报如下错误: Error Traceback (most recent call last): File "E:\MyLeaning\Python36-32\lib\unittest\case.py", line 59, in testPartExecutor yield File "E:\MyLeaning\Python36-32\lib\unittest\case.py", line 601, in run self.setUp() File "D:\www\ImoocInterface\base\test_method1.py", line 7, in setUp self.run = RunMain() TypeError: __init__() missing 2 required positional arguments: 'url' and 'method' ``` ```
Python, TypeError: APP() takes no arguments
``` import tkinter as tk class APP(): def _init_(self,master): frame = tk.Frame(master) frame.pack(side = tk.LEFT, padx = 10, pady = 10) self.hi_there = tk.Button(frame,text = "打招呼", bg = 'black',fg = 'white',command = self.say_hi) self.hi_there.pack() def say_hi(self): print("hello everyone") root = tk.Tk() app = APP(root) root.mainloop() ``` 报错信息如下: Traceback (most recent call last): File "D:/py/AboutExcel/Tkinter_4.py", line 17, in <module> app = APP(root) TypeError: APP() takes no arguments Process finished with exit code 1
python编程:从入门到实践18章映射URL出现TypeError.
在runserver中报错: TypeError: view must be a callable or a list/tuple in the case of include(). #learning_log/urls.py ``` from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('learning_logs.urls', namespace='learning_logs')), ] ``` #learning_logs/urls.py ``` from django.urls import path from . import views app_name = 'learning_logs' urlpatterns = [ #主页 path('', views.index, name='index'), ] ``` 有没有大佬帮忙看看哪里出问题了
python中的for循环的一个error?请大神帮忙解答
for i in files: if files[i] == images[i] : output_dir =labels[i] output_dir_path = output_dir+'.txt' if not os.path.exists("./output_dir_path"): os.makedirs(output_dir_path) print("ok") 报错如下 if files[i] == images[i] : TypeError: list indices must be integers or slices, not str
SWIG 3.0+Python 2.7 报错:TypeError in method ... 求指点
最近需要用Python调用一个C++写的DLL接口,总是出问题于是做了一个小测试,发现有一个类初始化始终报错。 Python调用Dll接口中一个CreateEsunnyQuotClient 初始化方法 传递参数 IEsunnyQuotNotify * 的时候,出现错误,看起来是要传递一个指针变量,但是Python没有指针啊?直接使用ctypes 应该也不对吧,实在不解了。 TypeError: in method 'CreateEsunnyQuotClient', argument 1 of type 'IEsunnyQuotNotify * ' 具体错误信息如图: ![图片说明](https://img-ask.csdn.net/upload/201609/23/1474601335_258908.png) 下面是我做的一些测试用的文件:头文件 example.h、C++文件 example.cpp、SWIG接口文件 example.i、distutils安装文件 setup.py、测试文件 TestExample.py、 我用的环境是Python 2.7 32位、VS2015(2010也可以) 希望高人指点,已经忙了3天3夜了还是没有结果。十分感谢。 -------------------------------------------------------------------------------- /* example.h */ ``` class IEsunnyQuotNotify { public: /** *登录反馈回调函数 * @param err 错误号 0表示登录成功,否则失败 * @param errtext 错误信息 * @return 0表示成功,否则失败 */ virtual int OnRspLogin(int err,const char *errtext)=0; }; //创建接口指针(使用前调用) IEsunnyQuotClient * CreateEsunnyQuotClient(IEsunnyQuotNotify * notify); //释放接口指针(使用后调用) void DelEsunnyQuotClient(IEsunnyQuotClient * client); ``` -------------------------------------------------------------------------------- /* example.cpp */ ``` int IEsunnyQuotClient::Connect(const char *ip, int port) { return 0; } void IEsunnyQuotClient::DisConnect() { return; } class EsunnyQuotClient : public IEsunnyQuotClient { int Connect(const char *ip, int port) { return 0; }; void DisConnect() { return ; }; }; int IEsunnyQuotNotify::OnRspLogin(int err, const char *errtext) { return 0; } IEsunnyQuotClient * CreateEsunnyQuotClient(IEsunnyQuotNotify * notify) { return &EsunnyQuotClient(); } ``` -------------------------------------------------------------------------------- /* example.i*/ ``` /* File : example.i */ %module example %{ #include "example.h" %} class Shape { public: Shape() { nshapes++; } virtual ~Shape() { nshapes--; } double x, y; void move(double dx, double dy); virtual double area() = 0; virtual double perimeter() = 0; static int nshapes; }; class Circle : public Shape { private: double radius; public: Circle(double r) : radius(r) { } virtual double area(); virtual double perimeter(); }; class Square : public Shape { private: double width; public: Square(double w) : width(w) { } virtual double area(); virtual double perimeter(); }; class IEsunnyQuotClient { public: /** *连接行情数据服务器IP及端口 * @param ip 服务器的IP * @param port 服务器的端口 * @return 0表示连接成功,否则失败 */ virtual int Connect(const char *ip,int port)=0; /** *断开当前连接 */ virtual void DisConnect()=0; }; class IEsunnyQuotNotify { public: /** *登录反馈回调函数 * @param err 错误号 0表示登录成功,否则失败 * @param errtext 错误信息 * @return 0表示成功,否则失败 */ virtual int OnRspLogin(int err,const char *errtext)=0; }; //创建接口指针(使用前调用) IEsunnyQuotClient * CreateEsunnyQuotClient(IEsunnyQuotNotify * notify); ``` -------------------------------------------------------------------------------- /* setup.py */ ``` from distutils.core import setup, Extension example_module = Extension('_example', libraries = ['example'], sources=['example_wrap.cxx'], ) setup (name = 'example', version = '0.1', author = "SWIG Docs", description = """example wrap with swig""", ext_modules = [example_module], py_modules = ["example"], ) ``` -------------------------------------------------------------------------------- /* TestExample.py */ ``` #from EsunnyQuot import IEsunnyQuotClient, IEsunnyQuotNotify, CreateEsunnyQuotClient, DelEsunnyQuotClient from example import IEsunnyQuotClient, IEsunnyQuotNotify, CreateEsunnyQuotClient class EsunnyQuotNoify(IEsunnyQuotNotify): def __init__(self, *args, **kwargs): pass class EsunnyQuotClient(IEsunnyQuotClient): def __init__(self): pass client = None try: notify = EsunnyQuotNoify() print type(notify) client = CreateEsunnyQuotClient(notify) finally: if client is not None: #DelEsunnyQuotClient(client) pass ```
Python 3.7 使用sorted()函数对列表进行不区分大小写排序时出现TypeError: lower() takes no arguments (1 given)
在使用sorted()函数做练习时,分别定义了两个函数ording1()和ording2(),区别是ording1()中用于排序的列表是通过split()函数生成的,ording2()函数中的列表是直接用的字面值。最终都是使用sorted(str_list, key=str.lower) 函数对 list进行排序,执行ording2()时,系统正常输出,但是执行以ording1()时却遇到了以下错误信息:TypeError: lower() takes no arguments (1 given),不太理解这是什么原因导致的。 ``` def ording1(): str = "This is a test string from Andrew" str_list = str.split() print(type(str_list)) print(str_list) print(sorted(str_list, key=str.lower)) def ording2(): str_list = ['This', 'is', 'a', 'test', 'string', 'from', 'Andrew'] print(type(str_list)) print(str_list) print(sorted(str_list, key=str.lower)) ``` 执行ording1()函数时出现以下错误 ``` print(sorted(str_list, key=str.lower)) TypeError: lower() takes no arguments (1 given) ``` 执行ording1()函数时,显示正常 ``` <class 'list'> ['This', 'is', 'a', 'test', 'string', 'from', 'Andrew'] ['a', 'Andrew', 'from', 'is', 'string', 'test', 'This'] ```
Kafka实战(三) - Kafka的自我修养与定位
Apache Kafka是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform) Kafka是LinkedIn公司内部孵化的项目。LinkedIn最开始有强烈的数据强实时处理方面的需求,其内部的诸多子系统要执行多种类型的数据处理与分析,主要包括业务系统和应用程序性能监控,以及用户行为数据处理等。 遇到的主要问题: 数据正确性不足 数据的收集主要...
volatile 与 synchronize 详解
Java支持多个线程同时访问一个对象或者对象的成员变量,由于每个线程可以拥有这个变量的拷贝(虽然对象以及成员变量分配的内存是在共享内存中的,但是每个执行的线程还是可以拥有一份拷贝,这样做的目的是加速程序的执行,这是现代多核处理器的一个显著特性),所以程序在执行过程中,一个线程看到的变量并不一定是最新的。 volatile 关键字volatile可以用来修饰字段(成员变量),就是告知程序任何对该变量...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
GitHub开源史上最大规模中文知识图谱
近日,一直致力于知识图谱研究的 OwnThink 平台在 Github 上开源了史上最大规模 1.4 亿中文知识图谱,其中数据是以(实体、属性、值),(实体、关系、实体)混合的形式组织,数据格式采用 csv 格式。 到目前为止,OwnThink 项目开放了对话机器人、知识图谱、语义理解、自然语言处理工具。知识图谱融合了两千五百多万的实体,拥有亿级别的实体属性关系,机器人采用了基于知识图谱的语义感...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
微信支付崩溃了,但是更让马化腾和张小龙崩溃的竟然是……
loonggg读完需要3分钟速读仅需1分钟事件还得还原到昨天晚上,10 月 29 日晚上 20:09-21:14 之间,微信支付发生故障,全国微信支付交易无法正常进行。然...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问

相似问题

5
python新手问题:这个类实例化总报错
2
请问如下代码为什么报错:TypeError: Fetch argument None has invalid type <class 'NoneType'>
3
Python报错 TypeError: 'int' object has no attribute '__getitem__'
2
求助 Python报错 TypeError: rank() got an unexpected keyword argument 'numeric_only'
1
python温度转换提示“TypeError: string indices must be integers”
2
Python使用类装饰器出现报错:TypeError: test2() missing 1 required positional argument: 'b'
2
TypeError: unhashable type: 'list' 错误怎么处理
1
Python, TypeError: APP() takes no arguments
1
急求:Json无法从dic-list-dic结构的字典中提取出数据
3
python运行脚本时提示TypeError: float argument required, not str这个错误,有大佬知道原因吗,望解答
1
python3的datetime无法相减
1
python纸牌类TypeError: object of type 'FrenchDeck' has no len()
1
Django报错TypeError join() argument must be str or bytes, not 'dict'如何解决?
2
python中绘制世界地图TypeError: argument of type 'Key' is not iterable。
2
python 求斐波那契数列,用int()和eval()得出来的结果为什么不同
1
爬取知乎信息报错--TypeError: string indices must be integers
1
爬取途牛机票信息报错--TypeError: string indices must be integers
1
python编程:从入门到实践18章映射URL出现TypeError.
1
python3使用imshow函数出现错误TypeError: Expected cv::UMat for argument 'mat'怎么改?
1
matplotlib: TypeError: unsupported operand type(s) for -: 'str' and 'float'求解决