python3.6.9版本的编码方式已经是'utf-8'了,为什么仍然会报SyntaxError: 'ascii' codec can't decode byte 0xe4 in position 5: ordinal not in range(128) 的错误?

图片说明

这边显示python3.6.9版本的编码方式已经是'utf-8'了,为什么仍然会报

SyntaxError: 'ascii' codec can't decode byte 0xe4 in position 5: ordinal not in range(128) 的错误?

2个回答

系统的原因吧,windows上面是可以的

找到原因了,.bashrc中不知道什么时候设置了编码方式为C

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python3.6 django1.11文件编码问题
我用django生成的初始文件执行python manage.py runserver 都提示 utf-8 can't decode.请问这是设置问题吗![图片](https://img-ask.csdn.net/upload/201710/14/1507914538_380682.png)
python 3.6导入sas数据集时出错
base=pd.read_sas(r'E:\SAS\xindai_1810.sas7bdat',encoding='utf-8')导入时出错。 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte 应该是sas数据集与python的编码不同的原因吧,sas默认EUC。但我不会改,求大神指教
python3 爬网络小说 编码gbk,utf-8均报错
很简单的爬取一个小说,但是编码遇到报错,gbk,utf-8都不行。 # -*- coding: utf-8 -*- import urllib.request import re import sys import os import urllib from bs4 import BeautifulSoup from urllib import request #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码 def getHtml(weburl): webheaders = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'} webheaders={ 'Referer':'http://www.biqukan.cc/book/20461/12592815.html', 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0' } req = urllib.request.Request(url=weburl, headers=webheaders) page = urllib.request.urlopen(req) html = page.read() return html.decode('gbk') def gettext(html): soup = BeautifulSoup(html, "lxml") content = soup.find(class_='panel-body',id='htmlContent') txt=content.get_text() with open('D:\\test.txt','a') as f: f.write(txt) weburl="http://www.biqukan.cc/book/20461/12592815.html" html=getHtml(weburl)#获取该网址网页详细信息,得到的html就是网页的源代码 gettext(html) 错误信息: UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 75: il legal multibyte sequence 还有:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 116: invali d start byte
pylint安装问题,报utf-8编码问题
win10 64bit,python3.6 pip:9.0.1 详细错误如下图: ![图片说明](https://img-ask.csdn.net/upload/201703/12/1489321640_819721.png)
Python问题 出现问题报错怎么办?
# 读入Staffs_2030.txt,找出其中本年度考核为优秀的员工,加薪20%,薪水四舍五入后统一保留整数位。然后重新写入Staffs_2031.txt中,新旧文件的编码方式均为’utf-8’ with open('Staffs_2030.txt','r',encoding='utf-8') as f: a=f.readlines() for i in a: b=i.split(',') if b[6]=='优秀': b[5]=round(int(b[5])+0.2*int(b[5]),0) str1=','.join(b) with open('Staffs_2031.txt','w',encoding='utf-8') as g: g.append(b) else: str1=','.join(b) with open('Staffs_2031.txt','w',encoding='utf-8') as g: g.append(b) print('已根据2030信息生成2031对应文件') ## Staffs_2030.txt 工号,姓名,职位,年龄,工龄,工资,考核结果 00001,曹横,总经理,40,10,30000,优秀 00002,郑武,经理,34,8,18000,及格 00007,李飞,经理,30,7,15600,优秀 00019,张白,经理,28,6,14000,及格 00035,王柳,经理,34,4,19200,优秀 01002,张小明,职员,26,3,8000,及格 01004,李小笑,职员,25,3,10800,优秀 01006,张三,职员,25,3,8400,优秀 01009,李四,职员,23,3,5000,及格 01013,王五,职员,22,3,6000,优秀 01015,郑六,职员,21,1,4000,及格 01016,宋七,职员,21,1,4800,优秀 ## 错误提示 Traceback (most recent call last): File "C:\Users\lzj\Desktop\p_SalaryRaising(1).py", line 13, in <module> g.append(b) AttributeError: '_io.TextIOWrapper' object has no attribute 'append'
Django在cmd启动报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7
环境是python3.6,django是最新的版本。 问题:仅仅是创建一个django项目,然后运行。 就会提示这个编码格式的错误。 找了很久,也没在网上找到解决方法![图片说明](https://img-ask.csdn.net/upload/201901/12/1547287085_811792.png) 还望有人能帮我解决这个问题,不然工作没法在自己本上允许了,很难受。谢谢大家了。 还有,我如果启动时候换个地址和端口启动,程序就可以正常跑起来。 ![图片说明](https://img-ask.csdn.net/upload/201901/12/1547287352_858874.png) 请大家能告诉我为什么。再次谢谢大家了。
eclipse+pydev环境下开发python的问题
首先我参阅了许多关于中文问题的例子,但都没人能解决我的问题,苦恼了很久。 关于环境我会一一道来。 开发环境 eclipse3.4+pydev 1.4.5 语言环境 python 2.6 [code="python"] ''' Created on 2009-5-7 @author: jdonee ''' # -*- coding: utf-8 -*- if __name__ == "__main__": print "让我又爱又恨的Python" [/code] 另注: example.py 文件为utf-8 run 时的common参数中控制台编码也已调整为 utf-8 控制台输出错误提示: SyntaxError: Non-ASCII character '\xe8' in file E:\MavenProjects\PySample\src\org\jdonee\mypyhon\example.py on line 8, but no encoding declared; 这个文档看到头晕
Python爬虫soup.findAll("li", {"class": "result"})为空
``` 大家好~ 我之前写的爬虫是单独针对某个页面的,比如新浪微博。这次需要在全网范围查询关于“开灯”有关的句子或文章,但是soup.findall("li",{"class":"result"})的结果一直是空。求助,谢谢。 PS:网上参考其他的例子,也都是在这个地方出问题,空的。。。 代码如下: #-*-coding:utf-8-*- __author__ = 'Daniel' #python3.5 #'爬取关于开灯的新闻' import re import urllib import chardet from bs4 import BeautifulSoup def remove_js_css(content): r = re.compile(r'''<scrip.*?</scrip>''', re.I|re.M|re.S) s = r.sub('', content) r = re.compile(r'''<style.*?</style>''', re.I|re.M|re.S) s = r.sub('', s) r = re.compile(r'''<!--.*?-->''', re.I|re.M|re.S) s = r.sub('', s) r = re.compile(r'''<meta.*?>''', re.I|re.M|re.S) s = r.sub('', s) r = re.compile(r'''<ins.*?</ins>''', re.I|re.M|re.S) s = r.sub('', s) return s def remove_empty_line(content): r = re.compile(r'''^\s+$''', re.M|re.S) s = r.sub('', content) r = re.compile(r'''\n+''', re.M|re.S) s = r.sub('\n', s) return s def remove_any_tag(s): s = re.sub(r'''<[^>]+>''', '', s) return s.strip() def remove_any_tag_but_a(s): text = re.findall(r'''<a[^r][^>]*>(.*?)</a>''', s, re.I|re.S|re.S) text_b = remove_any_tag(s) return len(''.join(text)), len(text_b) def remove_image(s, n=50): image = 'a' * n r = re.compile(r'''<img.*?>''', re.I|re.M|re.S) s = r.sub(image, s) return s def remove_video(s, n=1000): video = 'a' * n r = re.compile(r'''<embed.*?>''', re.I|re.M|re.S) s = r.sub(video, s) return s def sum_max(values): cur_max = values[0] glo_max = -99999 left, right = 0, 0 for index, value in enumerate(values): cur_max += value if(cur_max > glo_max): glo_max = cur_max right = index elif(cur_max < 0): cur_max = 0 for i in range(right, -1, -1): glo_max -= values[i] if abs(glo_max < 0.0001): left = i break return left, right + 1 def method_1(content, k = 1): if not content: return None, None, None, None tmp = content.split('\n') group_value = [] for i in range(0, len(tmp), k): group = '\n'.join(tmp[i:i+k]) group = remove_image(group) group = remove_video(group) text_a, text_b = remove_any_tag_but_a(group) temp = (text_b - text_a) - 8 group_value.append(tmp) left, right = sum_max(group_value) return left, right, len('\n'.join(tmp[:left])), len('\n'.join(tmp[:right])) def extract(content): content = remove_empty_line(remove_js_css(content)) left, right, x, y = method_1(content) return '\n'.join(content.split('\n')[left:right]) #输入url,将其新闻页的正文输入txt def extract_news_content(web_url, file_name): request = urllib.Request(web_url) #在请求加上头信息,伪装成浏览器访问 request.add_header('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6') opener = urllib.build_opener() html = opener.open(request).read() infoencode = chardet.detect(html)['encoding']##通过第3方模块来自动提取网页的编码 if html != None and infoencode != None:#提取内容不为空,error.或者用else html = html.decode(infoencode, 'ignore') soup = BeautifulSoup(html) content = soup.renderContents() content_text = extract(content)#提取新闻网页中的正文部分,化为无换行的一段文字 content_text = re.sub("&nbsp;"," ",content_text) content_text = re.sub("&gt;","",content_text) content_text = re.sub("&quot;",'""',content_text) content_text = re.sub("<[^>]+>","",content_text) content_text = re.sub("\n","",content_text) file = open(file_name,'a')#append file.write(content_text) file.close() #抓取百度新闻搜索结果:中文搜索,前10页,url:key=关键词 def search(key_word): search_url = 'http://news.baidu.com/ns?word=key_word&tn=news&from=news&cl=2&rn=20&ct=1' req = urllib.request.urlopen(search_url.replace('key_word', key_word)) real_visited = 0 for count in range(10):#前10页 html = req.read() soup = BeautifulSoup(html) content = soup.findAll("li", {"class": "result"}) #resultset object num = len(content) for i in range(num): #先解析出来所有新闻的标题、来源、时间、url p_str = content[i].find('a') #if no result then nontype object contenttitle = p_str.renderContents() contenttitle = contenttitle.decode('utf-8', 'ignore')#need it contenttitle = re.sub("<[^>]+>", "", contenttitle) contentlink = str(p_str.get("href")) #存放顺利抓取的url,对比 visited_url = open(r'visited-cn.txt', 'r')#是否已经爬过 visited_url_list = visited_url.readlines() visited_url.close()#及时close exist = 0 for item in visited_url_list: if contentlink == item: exist = 1 if exist != 1:#如果未被访问url p_str2 = content[i].find('p').renderContents() contentauthor = p_str2[:p_str2.find("&nbsp;&nbsp")]#来源 contentauthor = contentauthor.decode('utf-8', 'ignore')#时 contenttime = p_str2[p_str2.find("&nbsp;&nbsp") + len("&nbsp;&nbsp") + 1:] contenttime = contenttime.decode('utf-8', 'ignore') #第i篇新闻,filename="D:\\Python27\\newscn\\%d.txt"%(i) #file = open(filename,'w'),一个txt一篇新闻 real_visited += 1 file_name = r"newscn\%d.txt"%(real_visited) file = open(file_name,'w') file.write(contenttitle.encode('utf-8')) file.write(u'\n') file.write(contentauthor.encode('utf-8')) file.write(u'\n') file.write(contenttime.encode('utf-8')) file.write(u'\n'+contentlink+u'\n') file.close() extract_news_content(contentlink, file_name)#还写入文件 visited_url_list.append(contentlink)#访问之 visited_url = open(r'visited-cn.txt', 'a')#标记为已访问,永久存防止程序停止后丢失 visited_url.write(contentlink+u'\n') visited_url.close() if len(visited_url_list) >= 120: break #解析下一页 if count == 0: next_num = 0 else: next_num = 1 next_page = 'http://news.baidu.com' + soup('a',{'href':True,'class':'n'})[next_num]['href'] # search for the next page#翻页 print(next_page) req = urllib.urlopen(next_page) if __name__=='__main__': #key_word = input('input key word:') key_word = 'helloworld' search(key_word) ```
求助,Tensorflow搭建AlexNet模型是训练集验证集的LOSS不收敛
如题,代码如下,请大佬赐教 ``` # coding:utf-8 import tensorflow as tf import numpy as np import time import os import cv2 import matplotlib.pyplot as plt def get_file(file_dir): images = [] labels = [] for root, sub_folders, files in os.walk(file_dir): for name in files: images.append(os.path.join(root, name)) letter = name.split('.')[0] # 对标签进行分类 if letter == 'cat': labels = np.append(labels, [0]) else: labels = np.append(labels, [1]) # shuffle(随机打乱) temp = np.array([images, labels]) temp = temp.transpose() # 建立images 与 labels 之间关系, 以矩阵形式展现 np.random.shuffle(temp) image_list = list(temp[:, 0]) label_list = list(temp[:, 1]) label_list = [int(float(i)) for i in label_list] print(image_list) print(label_list) return image_list, label_list # 返回文件名列表 def _parse_function(image_list, labels_list): image_contents = tf.read_file(image_list) image = tf.image.decode_jpeg(image_contents, channels=3) image = tf.cast(image, tf.float32) image = tf.image.resize_image_with_crop_or_pad(image, 227, 227) # 剪裁或填充处理 image = tf.image.per_image_standardization(image) # 图片标准化 labels = labels_list return image, labels # 将需要读取的数据集地址转换为专用格式 def get_batch(image_list, labels_list, batch_size): image_list = tf.cast(image_list, tf.string) labels_list = tf.cast(labels_list, tf.int32) dataset = tf.data.Dataset.from_tensor_slices((image_list, labels_list)) # 创建dataset dataset = dataset.repeat() # 无限循环 dataset = dataset.map(_parse_function) dataset = dataset.batch(batch_size) dataset = dataset.make_one_shot_iterator() return dataset # 正则化处理数据集 def batch_norm(inputs, is_training, is_conv_out=True, decay=0.999): scale = tf.Variable(tf.ones([inputs.get_shape()[-1]])) beta = tf.Variable(tf.zeros([inputs.get_shape()[-1]])) pop_mean = tf.Variable(tf.zeros([inputs.get_shape()[-1]]), trainable=False) pop_var = tf.Variable(tf.ones([inputs.get_shape()[-1]]), trainable=False) def batch_norm_train(): if is_conv_out: batch_mean, batch_var = tf.nn.moments(inputs, [0, 1, 2]) # 求均值及方差 else: batch_mean, batch_var = tf.nn.moments(inputs, [0]) train_mean = tf.assign(pop_mean, pop_mean * decay + batch_mean * (1 - decay)) train_var = tf.assign(pop_var, pop_var * decay + batch_var * (1 - decay)) with tf.control_dependencies([train_mean, train_var]): # 在train_mean, train_var计算完条件下继续 return tf.nn.batch_normalization(inputs, batch_mean, batch_var, beta, scale, 0.001) def batch_norm_test(): return tf.nn.batch_normalization(inputs, pop_mean, pop_var, beta, scale, 0.001) batch_normalization = tf.cond(is_training, batch_norm_train, batch_norm_test) return batch_normalization # 建立模型 learning_rate = 1e-4 training_iters = 200 batch_size = 50 display_step = 5 n_classes = 2 n_fc1 = 4096 n_fc2 = 2048 # 构建模型 x = tf.placeholder(tf.float32, [None, 227, 227, 3]) y = tf.placeholder(tf.int32, [None]) is_training = tf.placeholder(tf.bool) # 字典模式管理权重与偏置参数 W_conv = { 'conv1': tf.Variable(tf.truncated_normal([11, 11, 3, 96], stddev=0.0001)), 'conv2': tf.Variable(tf.truncated_normal([5, 5, 96, 256], stddev=0.01)), 'conv3': tf.Variable(tf.truncated_normal([3, 3, 256, 384], stddev=0.01)), 'conv4': tf.Variable(tf.truncated_normal([3, 3, 384, 384], stddev=0.01)), 'conv5': tf.Variable(tf.truncated_normal([3, 3, 384, 256], stddev=0.01)), 'fc1': tf.Variable(tf.truncated_normal([6 * 6 * 256, n_fc1], stddev=0.1)), 'fc2': tf.Variable(tf.truncated_normal([n_fc1, n_fc2], stddev=0.1)), 'fc3': tf.Variable(tf.truncated_normal([n_fc2, n_classes], stddev=0.1)), } b_conv = { 'conv1': tf.Variable(tf.constant(0.0, dtype=tf.float32, shape=[96])), 'conv2': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[256])), 'conv3': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[384])), 'conv4': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[384])), 'conv5': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[256])), 'fc1': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[n_fc1])), 'fc2': tf.Variable(tf.constant(0.1, dtype=tf.float32, shape=[n_fc2])), 'fc3': tf.Variable(tf.constant(0.0, dtype=tf.float32, shape=[n_classes])), } x_image = tf.reshape(x, [-1, 227, 227, 3]) # 卷积层,池化层,LRN层编写 # 第一层卷积层 # 卷积层1 conv1 = tf.nn.conv2d(x_image, W_conv['conv1'], strides=[1, 4, 4, 1], padding='VALID') conv1 = tf.nn.bias_add(conv1, b_conv['conv1']) conv1 = batch_norm(conv1, is_training) #conv1 = tf.layers.batch_normalization(conv1, training=is_training) conv1 = tf.nn.relu(conv1) # 池化层1 pool1 = tf.nn.avg_pool(conv1, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1], padding='VALID') # LRN层 norm1 = tf.nn.lrn(pool1, 5, bias=1.0, alpha=0.001 / 9.0, beta=0.75) # 第二层卷积 # 卷积层2 conv2 = tf.nn.conv2d(norm1, W_conv['conv2'], strides=[1, 1, 1, 1], padding='SAME') conv2 = tf.nn.bias_add(conv2, b_conv['conv2']) #conv2 = tf.layers.batch_normalization(conv2, training=is_training) conv2 = batch_norm(conv2, is_training) conv2 = tf.nn.relu(conv2) # 池化层2 pool2 = tf.nn.avg_pool(conv2, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1], padding='VALID') # LRN层 #norm2 = tf.nn.lrn(pool2, 5, bias=1.0, alpha=0.001 / 9.0, beta=0.75) # 第三层卷积 # 卷积层3 conv3 = tf.nn.conv2d(pool2, W_conv['conv3'], strides=[1, 1, 1, 1], padding='SAME') conv3 = tf.nn.bias_add(conv3, b_conv['conv3']) #conv3 = tf.layers.batch_normalization(conv3, training=is_training) conv3 = batch_norm(conv3, is_training) conv3 = tf.nn.relu(conv3) # 第四层卷积 # 卷积层4 conv4 = tf.nn.conv2d(conv3, W_conv['conv4'], strides=[1, 1, 1, 1], padding='SAME') conv4 = tf.nn.bias_add(conv4, b_conv['conv4']) #conv4 = tf.layers.batch_normalization(conv4, training=is_training) conv4 = batch_norm(conv4, is_training) conv4 = tf.nn.relu(conv4) # 第五层卷积 # 卷积层5 conv5 = tf.nn.conv2d(conv4, W_conv['conv5'], strides=[1, 1, 1, 1], padding='SAME') conv5 = tf.nn.bias_add(conv5, b_conv['conv5']) #conv5 = tf.layers.batch_normalization(conv5, training=is_training) conv5 = batch_norm(conv5, is_training) conv5 = tf.nn.relu(conv5) # 池化层5 pool5 = tf.nn.avg_pool(conv5, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1], padding='VALID') # 第六层全连接 reshape = tf.reshape(pool5, [-1, 6 * 6 * 256]) #fc1 = tf.matmul(reshape, W_conv['fc1']) fc1 = tf.add(tf.matmul(reshape, W_conv['fc1']), b_conv['fc1']) #fc1 = tf.layers.batch_normalization(fc1, training=is_training) fc1 = batch_norm(fc1, is_training, False) fc1 = tf.nn.relu(fc1) #fc1 = tf.nn.dropout(fc1, 0.5) # 第七层全连接 #fc2 = tf.matmul(fc1, W_conv['fc2']) fc2 = tf.add(tf.matmul(fc1, W_conv['fc2']), b_conv['fc2']) #fc2 = tf.layers.batch_normalization(fc2, training=is_training) fc2 = batch_norm(fc2, is_training, False) fc2 = tf.nn.relu(fc2) #fc2 = tf.nn.dropout(fc2, 0.5) # 第八层全连接(分类层) yop = tf.add(tf.matmul(fc2, W_conv['fc3']), b_conv['fc3']) # 损失函数 #y = tf.stop_gradient(y) loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits=yop, labels=y)) optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(loss) #update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) #with tf.control_dependencies(update_ops): # 保证train_op在update_ops执行之后再执行。 #train_op = optimizer.minimize(loss) # 评估模型 correct_predict = tf.nn.in_top_k(yop, y, 1) accuracy = tf.reduce_mean(tf.cast(correct_predict, tf.float32)) init = tf.global_variables_initializer() def onehot(labels): # 独热编码表示数据 n_sample = len(labels) n_class = max(labels) + 1 onehot_labels = np.zeros((n_sample, n_class)) onehot_labels[np.arange(n_sample), labels] = 1 # python迭代方法,将每一行对应个置1 return onehot_labels save_model = './/model//my-model.ckpt' # 模型训练 def train(epoch): with tf.Session() as sess: sess.run(init) saver = tf.train.Saver(var_list=tf.global_variables()) c = [] b = [] max_acc = 0 start_time = time.time() step = 0 global dataset dataset = dataset.get_next() for i in range(epoch): step = i image, labels = sess.run(dataset) sess.run(optimizer, feed_dict={x: image, y: labels, is_training: True}) # 训练一次 #if i % 5 == 0: loss_record = sess.run(loss, feed_dict={x: image, y: labels, is_training: True}) # 记录一次 #predict = sess.run(yop, feed_dict={x: image, y: labels, is_training: True}) acc = sess.run(accuracy, feed_dict={x: image, y: labels, is_training: True}) print("step:%d, now the loss is %f" % (step, loss_record)) #print(predict[0]) print("acc : %f" % acc) c.append(loss_record) b.append(acc) end_time = time.time() print('time:', (end_time - start_time)) start_time = end_time print('-----------%d opench is finished ------------' % (i / 5)) #if acc > max_acc: # max_acc = acc # saver.save(sess, save_model, global_step=i + 1) print('Optimization Finished!') #saver.save(sess, save_model) print('Model Save Finished!') plt.plot(c) plt.plot(b) plt.xlabel('iter') plt.ylabel('loss') plt.title('lr=%f, ti=%d, bs=%d' % (learning_rate, training_iters, batch_size)) plt.tight_layout() plt.show() X_train, y_train = get_file("D://cat_and_dog//cat_dog_train//cat_dog") # 返回为文件地址 dataset = get_batch(X_train, y_train, 100) train(100) ``` 数据文件夹为猫狗大战那个25000个图片的文件,不加入正则表达层的时候训练集loss会下降,但是acc维持不变,加入__batch norm__或者__tf.layers.batch__normalization 训练集和验证机的loss都不收敛了
python爬取网页上的中文,输出乱码怎么办?
我用的是mac,用的python版本是3.6。想要爬取政府网站上的一些信息,然而出来的都是乱码,如图: ![图片说明](https://img-ask.csdn.net/upload/201707/26/1501059075_632597.png) 下面是我的代码: ``` import io import sys from urllib.request import urlopen sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8') #转码为utf-8格式 from bs4 import BeautifulSoup import requests,urllib,time,string,chardet url = 'http://www.wenzhou.gov.cn/art/2017/7/18/art_1235230_8460404.html' headers = { 'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36' } page=requests.get(url,headers=headers) soup=BeautifulSoup(page.text,'lxml') txts=soup.select('p') for txt in txts: print(txt) ``` 请各位大神指导!
django取出pymongo中存储的中文图片路径后,读取该路径在网页上展示没有出现图片
问题是这样的: 我搭建的环境是:python2.7 + mongoengine + pymongo + django + Ubuntu14 python处理一些带有中文路径的图片,把这个路径存储在数据库pymongo中,保存的时候该路径是转换为:utf-8类型存储到数据库中,然后django通过mongoengine来连接pymongo的数据库,从中取出这个图片的路径, 希望向各位朋友们请教一下下面的问题,十分感谢 1遍历这些图片的路径时,采用的是:os.walk()方法,调用如下: 1 def visitDir_walk(path , sFileSuffix): 2 codedetect = chardet.detect(path)["encoding"] 3 path = unicode(path , codedetect).encode("gbk") 4 fileNames = list() 5 for root,dirs,files in os.walk(path): 6 for i in range(0 , len(files)): 7 file = files[i] 8 if file.endswith(sFileSuffix): 9 sFileName = os.path.join(root , file) 10 codedetect = chardet.detect(sRealFileName)["encoding"] 11 sRealFileName = unicode(sRealFileName , "gbk").encode("gbk") 12 fileNames.append( sRealFileName ) 13 return fileNames 我发现:如果os.walk中传入的如果是unicode类型的中文路径,遍历报错,这是为什么? 如果在第11行中我改为: sRealFileName = unicode(sRealFileName , "gbk"),也会报错 2经过chardet模块分析之后:该路径变成了unicode类型,而且编码方式为ascii,这一点很奇怪,因为存储的时候: picture = {} picture["path"] = unicode(picPath, "gbk").encode("utf-8") 已经将获取的图片路径转换为utf-8的str类型的路径,但是从数据库拿出来却变成了ascii的unicode类型的路径 3取出的这个图片路径在django网页展示时,图片不显示,我猜想很可能是和图片的路径中带有中文有关,但我即使对取出的图片路径unicode类型的路径,转换为utf-8或者gbk,再展示该图片,还是无法显示。我也尝试不对该路径做任何编码转换,图片仍然不显示。 恳请各位朋友们指点一下,回答一下这三个问题,被中文路径折磨了1个月,仍然没有解决这个问题。 在此先提前感谢各位朋友。
python 爬虫遇到问题了,这个问题怎么办
我们老师让写一个爬虫,爬东方财富每个股票的历史流动资金,我写出来后,运行程序,前面没什么问题,到后面就有问题了 代码如下:import requests import pandas import json import pymssql import re #获取股票资金流量网页的数据 def GetHtml(url): html=requests.get(url) html=html.text return html #对数据进行拆分 def CleanData(html): Str_data=html[len('jQuery1830006374794149931473_1577602052640')+1:-2] #对数据进行切割 Str_data2=json.loads(Str_data)['data'] #对无用数据进行再切分获取代码和名称 print(Str_data2['code']) code = Str_data2['code'] #股票编码 name = Str_data2['name'] #股票名称 data=[] for i in range (len(Str_data2['klines'])): data.append(Str_data2['klines'][i]) dealData(data,name,code) data.clear() Str_data2.clear() #对拆分数据进行整理 def dealData(datalist,name,code): #对列表中元素进行切片 new_datalist = ''.join(datalist) new_datalist=new_datalist.split(',') Name=name Code=code #将新列表放入数据库中 insertDatabase(new_datalist,Name,Code) new_datalist.clear() #将数据导入数据库中 def insertDatabase(datalist,Name,Code): #对新列表数据进行分类 date=datalist[0] #时间 close_price=datalist[11] #收盘价 Quote_change=datalist[12] #涨跌幅 Main_net=datalist[1] #主力净额 Main_foce=datalist[6] #主力净占比 Over_net=datalist[5] #超大单净额 Over_foce=datalist[10] #超大单净占比 Big_net=datalist[4] #大单净额 Big_foce=datalist[9] #大单净占比 Mid_net=datalist[3] #中单净额 Mid_foce=datalist[8] #中单净占比 Sm_net=datalist[2] #小单净额 Sm_foce=datalist[7] #小单净占比 data=(Name,Code,date,close_price,Quote_change,Main_net,Main_foce,Over_net,Over_foce,Big_net,Big_foce,Mid_net,Mid_foce,Sm_net,Sm_foce) sql="insert into Moneymove values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);" #建立连接 conn = pymssql.connect(host="localhost:1433", user="sa", password="123456", database="test", charset="UTF-8") cursor = conn.cursor() #插入测试数据 cursor.execute(sql , data) conn.commit() del data conn.close() #创建数据库 def Createdatabase(): conn = pymssql.connect(host="localhost:1433", user="sa", password="123456", database="test", charset="UTF-8") cursor = conn.cursor() cursor.execute(""" create table Moneymove( 股票代码 varchar(100), 股票名称 varchar(100), 时间 varchar(100) , 收盘价 varchar(100), 涨跌幅 varchar(100), 主流净额 varchar(100), 主流净占比 varchar(100), 超大单净额 varchar(100), 超大单净占比 varchar(100), 大单净额 varchar(100), 大单净占比 varchar(100), 中单净额 varchar(100), 中单净占比 varchar(100), 小单净额 varchar(100), 小单净占比 varchar(100) ) """) conn.commit() conn.close() # def NeedData(): # 建立连接并获取cursor conn = pymssql.connect(host="localhost:1433", user="sa", password="123456", database="test", charset="UTF-8") cursor = conn.cursor() # 如果连接时没有设置autocommit为True的话,必须主动调用commit() 来保存更改。 conn.commit() # 查询记录 cursor.execute('SELECT 股票代码 From SwClass$ ') # 获取一条记录 row = cursor.fetchone() code_list=[] # 循环打印记录(这里只有一条,所以只打印出一条) for i in range (3769): if row[0] != None: if str(row[0][0]) =='6': code='1.'+row[0] code_list.append(code) else: code = '0.'+row[0] code_list.append(code) row = cursor.fetchone() return code_list # 连接用完后记得关闭以释放资源 conn.close() def main(): Createdatabase() code_list=NeedData() print(code_list) for i in code_list: url='http://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get?lmt=0&klt=101&secid='+ str(i)+'&fields1=f1,f2,f3,f7&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61,f62,f63,f64,f65&ut=b2884a393a59ad64002292a3e90d46a5&cb=jQuery1830006374794149931473_1577602052640&_=1577602052949' html=GetHtml(url) CleanData(html) main() 出现的问题是这个: Traceback (most recent call last): File "C:/Users/VULCAN/Desktop/爬虫实习/3.py", line 135, in <module> main() File "C:/Users/VULCAN/Desktop/爬虫实习/3.py", line 134, in main CleanData(html) File "C:/Users/VULCAN/Desktop/爬虫实习/3.py", line 25, in CleanData dealData(data,name,code) File "C:/Users/VULCAN/Desktop/爬虫实习/3.py", line 39, in dealData insertDatabase(new_datalist,Name,Code) File "C:/Users/VULCAN/Desktop/爬虫实习/3.py", line 65, in insertDatabase conn = pymssql.connect(host="localhost:1433", user="sa", password="123456", database="test", charset="UTF-8") File "src\pymssql.pyx", line 636, in pymssql.connect File "src\_mssql.pyx", line 1957, in _mssql.connect File "src\_mssql.pyx", line 675, in _mssql.MSSQLConnection.__init__ ValueError: list.remove(x): x not in list 请问各位大佬,这要如何解决?
UnicodeDecodeError: 'gbk' codec can't decode byte
运行 "Learn Python the Hard Way" 里的代码时出现的报错。代码: ``` 1. from sys import argv 2. from os.path import exists 3. 4. script, from_file, to_file = argv 5. 6. print(f"Copying from {from_file} to {to_file}") 7. 8. # we could do these two on one line, how? 9. in_file = open(from_file) 10. indata = in_file.read() 11. 12. print(f"The input file is {len(indata)} bytes long") 13. 14. print(f"Does the output file exsit? {exists(to_file)}") 15. print("Ready, hit RETURN to continue, CTRL-C to abort.") 16. input() 17. 18. out_file = open(to_file, 'w') 19. out_file.write(indata) 20. 21. print("Alright, all done.") 22. 23. out_file.close() 24. in_file.close() ``` 照抄书本在 Terminal 上输入的命令: $ echo "This is a test file." > test.txt $ cat test.txt This is a test file. $ python ex17.py test.txt new_file.txt 下面是 Terminal 给的提示: Copying from test.txt to new_file.txt Traback ( most recent call last): File "ex17.py", line 10, in <module> indata = in_file.read() UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence 尝试把 'gbk' 编码改为 'UTF-8': 9. in_file = open(from_file, 'r', encoding = 'UTF-8') Terminal 给出的提示 Copying from test.txt to new_file.txt Traceback (most recent call last): File "ex17.py", line 10, in <Module> indata = in_file.read() File "C:\Python36\lib\codecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 求解:是什么导致这个 Error ?以及如何解决?
用python修改已经存在的EXCEL单元格背景颜色
已经有一个表格,需要在单元格里面设置背景颜色。来区分不同的类型 ``` def setcellcolo(x,y): # 设置单元格背景颜色 style = xlwt.XFStyle() pattern = xlwt.Pattern() # 创建一个模式 pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 设置其模式为实型 pattern.pattern_fore_colour =4 # 设置单元格背景颜色 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, the list goes on... style.pattern = pattern # 将赋值好的模式参数导入Style Line_data = (u'测试表') #创建一个Line_data列表,并将其值赋为测试表,以utf-8编码时中文前加u df.merge(x,x,y,y,style) ``` 报错,我是用xlrd读取excel,但是修改颜色的时候确是用xlwt,所以报错 'Book' object has no attribute 'merge'
最近突发奇想用java去请求python写的接口结果出问题了
python代码如下: ``` import tornado from wtforms_tornado import Form import sys class hello(tornado.web.RequestHandler): def get(self): self.render("hello.html") class ajaxtest(tornado.web.RequestHandler): def set_default_headers(self): print("setting headers!!!") self.set_header("Access-Control-Allow-Origin", "*") self.set_header("Access-Control-Allow-Headers", "x-requested-with") self.set_header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS') def get(self): data="你好我是刘德华" #data.encode("utf-8") print("get") self.write(data) def post(self): import json res=dict( hel="你好我是刘德华", d="ee" ) json = json.dumps(res) print("post") self.write(json) ``` python的代码应该是没有问题的 问题应该出在java上因为用直接用jQuery ajax请求是完全没有问题的 java代码如下: ``` package xiaoxiaomo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; public class test { /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return URL 所代表远程资源的响应结果 */ public test() { // TODO Auto-generated constructor stub } public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return 所代表远程资源的响应结果 */ public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(param); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送 POST 请求出现异常!"+e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result; } public static String getEncoding(String str) { String encode = "GB2312"; try { if (str.equals(new String(str.getBytes(encode), encode))) { //判断是不是GB2312 String s = encode; return s; //是的话,返回“GB2312“,以下代码同理 } } catch (Exception exception) { } encode = "ISO-8859-1"; try { if (str.equals(new String(str.getBytes(encode), encode))) { //判断是不是ISO-8859-1 String s1 = encode; return s1; } } catch (Exception exception1) { } encode = "UTF-8"; try { if (str.equals(new String(str.getBytes(encode), encode))) { //判断是不是UTF-8 String s2 = encode; return s2; } } catch (Exception exception2) { } encode = "GBK"; try { if (str.equals(new String(str.getBytes(encode), encode))) { //判断是不是GBK String s3 = encode; return s3; } } catch (Exception exception3) { } return ""; } public static void main(String[] args) throws UnsupportedEncodingException { //发送 GET 请求 String s=test.sendGet("http://127.0.0.1:9999/ajax", "key=123&v=456"); // String str=new String(s.getBytes(),"utf-8"); String type=getEncoding(s); System.out.println("字符串的编码是:"+type); System.out.println(s); //发送 POST 请求 // String sr=test.sendPost("http://localhost:6144/Home/RequestPostString", "key=123&v=456"); // System.out.println(sr); } } ``` 执行效果如下中文乱码: ![图片说明](https://img-ask.csdn.net/upload/201805/16/1526480833_741806.png) 然后我转了字符串编码为utf-8执行结果如下最后一个字显示问号 ![图片说明](https://img-ask.csdn.net/upload/201805/16/1526480961_68315.png) 后面没有办法,我在python就把字符串转为utf-8 ![图片说明](https://img-ask.csdn.net/upload/201805/16/1526481027_280369.png) 结果执行以后编码是utf-8没错 但是还是乱码 这是咋回事啊 ![图片说明](https://img-ask.csdn.net/upload/201805/16/1526481133_525792.png)
python3 tkinter获取Entry输入值报错
``` #!/usr/bin/env python # encoding: utf-8 from tkinter import * top = Tk() top.title('计算器') top.grid_size() label0 = Label(top, text='计算器', font='仿宋 24 bold', width=20, height=2) label0.grid(row=0, column=1, columnspan=3, rowspan=2) label1 = Label(top, text='输入参数一:', font='楷体 13', width=16, height=1) label1.grid(row=2, column=0) label2 = Label(top, text='输入参数二:', font='楷体 13', width=16, height=1) label2.grid(row=3, column=0) input1 = Entry(top, width=20) data1 = int(input1.get()) input1.grid(row=2, column=1) input2 = Entry(top, width=20) data2 = int(input2.get()) input2.grid(row=3, column=1) button1 = Button(top, text='滚加', width=20, height=1) button1.grid(row=6, column=0) jieguo = Text(top, width=40, height=6) jieguo.grid(row=2, column=2, rowspan=4, columnspan=2) button6 = Button(top, text='退出', command=top.quit(), width=110) button6.grid(row=8, column=0, columnspan=5) mainloop() ``` 做的一个小计算器,具体计算过程还没写,刚写了一个可视界面,运行时报错,问问各位大神,(=@__@=)哪里错了 data1 = int(input1.get()) ValueError: invalid literal for int() with base 10: ''
python爬新浪新闻内容,为什么运行完stock里面为空……
#! /usr/bin/env python #coding=utf-8 from scrapy.selector import Selector from scrapy.http import Request import re,os from bs4 import BeautifulSoup from scrapy.spider import Spider import urllib2,thread #处理编码问题 import sys reload(sys) sys.setdefaultencoding('gb18030') #flag的作用是保证第一次爬取的时候不进行单个新闻页面内容的爬取 flag=1 projectpath='C:\\Users\DELL\\Desktop\\pythonproject\\mypro\\' def loop(*response): sel = Selector(response[0]) #get title title = sel.xpath('//h1/text()').extract() #get pages pages=sel.xpath('//div[@id="artibody"]//p/text()').extract() #get chanel_id & comment_id s=sel.xpath('//meta[@name="comment"]').extract() #comment_id = channel[index+3:index+15] index2=len(response[0].url) news_id=response[0].url[index2-14:index2-6] comment_id='31-1-'+news_id #评论内容都在这个list中 cmntlist=[] page=1 #含有新闻url,标题,内容,评论的文件 file2=None #该变量的作用是当某新闻下存在非手机用户评论时置为False is_all_tel=True while((page==1) or (cmntlist != [])): tel_count=0 #each page tel_user_count #提取到的评论url url="http://comment5.news.sina.com.cn/page/info?version=1&format=js&channel=cj&newsid="+str(comment_id)+"&group=0&compress=1&ie=gbk&oe=gbk&page="+str(page)+"&page_size=100" url_contain=urllib2.urlopen(url).read() b='={' after = url_contain[url_contain.index(b)+len(b)-1:] #字符串中的None对应python中的null,不然执行eval时会出错 after=after.replace('null','None') #转换为字典变量text text=eval(after) if 'cmntlist' in text['result']: cmntlist=text['result']['cmntlist'] else: cmntlist=[] if cmntlist != [] and (page==1): filename=str(comment_id)+'.txt' path=projectpath+'stock\\' +filename file2=open(path,'a+') news_content=str('') for p in pages: news_content=news_content+p+'\n' item="<url>"+response[0].url+"</url>"+'\n\n'+"<title>"+str(title[0])+"</title>\n\n"+"<content>\n"+str(news_content)+"</content>\n\n<comment>\n" file2.write(item) if cmntlist != []: content='' for status_dic in cmntlist: if status_dic['uid']!='0': is_all_tel=False #这一句视编码情况而定,在这里去掉decode和encode也行 s=status_dic['content'].decode('UTF-8').encode('GBK') #见另一篇博客“三张图” s=s.replace("'",'"') s=s.replace("\n",'') s1="u'"+s+"'" try: ss=eval(s1) except: try: s1='u"'+s+'"' ss=eval(s1) except: return content=content+status_dic['time']+'\t'+status_dic['uid']+'\t'+ss+'\n' #当属于手机用户时 else: tel_count=tel_count+1 #当一个page下不都是手机用户时,这里也可以用is_all_tel进行判断,一种是用开关的方式,一种是统计的方式 #算了不改了 if tel_count!=len(cmntlist): file2.write(content) page=page+1 #while loop end here if file2!=None: #当都是手机用户时,移除文件,否则写入"</comment>"到文件尾 if is_all_tel: file2.close() try: os.remove(file2.name) except WindowsError: pass else: file2.write("</comment>") file2.close() class DmozSpider(Spider): name = "stock" allowed_domains = ["sina.com.cn"] #在本程序中,start_urls并不重要,因为并没有解析 start_urls = [ "http://news.sina.com.cn/" ] global projectpath if os.path.exists(projectpath+'stock'): pass else: os.mkdir(projectpath+'stock') def parse(self, response): #这个scrapy.selector.Selector是个不错的处理字符串的类,python对编码很严格,它却处理得很好 #在做这个爬虫的时候,碰到很多奇奇怪怪的编码问题,主要是中文,试过很多既有的类,BeautifulSoup处理得也不是很好 sel = Selector(response) global flag if(flag==1): flag=2 page=1 while page<260: url="http://roll.finance.sina.com.cn/finance/zq1/index_" url=url+str(page)+".shtml" #伪装为浏览器 user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' headers = { 'User-Agent' : user_agent } req = urllib2.Request(url, headers=headers) response = urllib2.urlopen(req) url_contain = response.read() #利用BeautifulSoup进行文档解析 soup = BeautifulSoup(url_contain) params = soup.findAll('div',{'class':'listBlk'}) if os.path.exists(projectpath+'stock\\'+'link'): pass else: os.mkdir(projectpath+'stock\\'+'link') filename='link.txt' path=projectpath+'stock\\link\\' + filename filelink=open(path,'a+') for params_item in params: persons = params_item.findAll('li') for item in persons: href=item.find('a') mil_link= href.get('href') filelink.write(str(mil_link)+'\n') #递归调用parse,传入新的爬取url yield Request(mil_link, callback=self.parse) page=page+1 #对单个新闻页面新建线程进行爬取 if flag!=1: if (response.status != 404) and (response.status != 502): thread.start_new_thread(loop,(response,))
python算法编码问题咨询
以下是apriori关联算法的实例代码实现,是用python实现的,IDE是myeclipse,没有报错: #coding:utf-8 samples = [ ["I1","I2","I5"], ["I2","I4"], ["I2","I3"], ["I1","I2","I4"], ["I1","I3"], ["I2","I3"], ["I1","I3"], ["I1","I2","I3","I5"], ["I1","I2","I3"] ] min_support = 2 min_confidence = 0.6 fre_list = list() def get_c1(): global record_list global record_dict new_dict = dict() for row in samples: for item in row: if item not in fre_list: fre_list.append(item) new_dict[item] = 1 else: new_dict[item] = new_dict[item] + 1 fre_list.sort() print ("candidate set:") print_dict(new_dict) for key in fre_list: if new_dict[key] < min_support: del new_dict[key] print ("after pruning:") print_dict(new_dict) record_list = fre_list record_dict = record_dict def get_candidateset(): new_list = list() #自连接 for i in range(0,len(fre_list)): for j in range(0,len(fre_list)): if i == j: continue #如果两个k项集可以自连接,必须保证它们有k-1项是相同的 if has_samesubitem(fre_list[i],fre_list[j]): curitem = fre_list[i] + ',' + fre_list[j] curitem = curitem.split(",") curitem = list(set(curitem)) curitem.sort() curitem = ','.join(curitem) #如果一个k项集要成为候选集,必须保证它的所有子集都是频繁的 if has_infresubset(curitem) == False and already_constains(curitem,new_list) == False: new_list.append(curitem) new_list.sort() return new_list def has_samesubitem(str1,str2): str1s = str1.split(",") str2s = str2.split(",") if len(str1s) != len(str2s): return False nums = 0 for items in str1s: if items in str2s: nums += 1 str2s.remove(items) if nums == len(str1s) - 1: return True else: return False def judge(candidatelist): # 计算候选集的支持度 new_dict = dict() for item in candidatelist: new_dict[item] = get_support(item) print ("candidate set:") print_dict(new_dict) #剪枝 #频繁集的支持度要大于最小支持度 new_list = list() for item in candidatelist: if new_dict[item] < min_support: del new_dict[item] continue else: new_list.append(item) global fre_list fre_list = new_list print ("after pruning:") print_dict(new_dict) return new_dict def has_infresubset(item): # 由于是逐层搜索的,所以对于Ck候选集只需要判断它的k-1子集是否包含非频繁集即可 subset_list = get_subset(item.split(",")) for item_list in subset_list: if already_constains(item_list,fre_list) == False: return True return False def get_support(item,splitetag=True): if splitetag: items = item.split(",") else: items = item.split("^") support = 0 for row in samples: tag = True for curitem in items: if curitem not in row: tag = False continue if tag: support += 1 return support def get_fullpermutation(arr): if len(arr) == 1: return [arr] else: newlist = list() for i in range(0,len(arr)): sublist = get_fullpermutation(arr[0:i]+arr[i+1:len(arr)]) for item in sublist: curlist = list() curlist.append(arr[i]) curlist.extend(item) newlist.append(curlist) return newlist def get_subset(arr): newlist = list() for i in range(0,len(arr)): arr1 = arr[0:i]+arr[i+1:len(arr)] newlist1 = get_fullpermutation(arr1) for newlist_item in newlist1: newlist.append(newlist_item) newlist.sort() newlist = remove_dumplicate(newlist) return newlist def remove_dumplicate(arr): newlist = list() for i in range(0,len(arr)): if already_constains(arr[i],newlist) == False: newlist.append(arr[i]) return newlist def already_constains(item,curlist): import types items = list() if type(item) is types.StringType: items = item.split(",") else: items = item for i in range(0,len(curlist)): curitems = list() if type(curlist[i]) is types.StringType: curitems = curlist[i].split(",") else: curitems = curlist[i] if len(set(items)) == len(curitems) and len(list(set(items).difference(set(curitems)))) == 0: return True return False def print_dict(curdict): keys = curdict.keys() keys.sort() for curkey in keys: print ("%s:%s"%curkey,curdict[curkey]) # 计算关联规则的方法 def get_all_subset(arr): rtn = list() while True: subset_list = get_subset(arr) stop = False for subset_item_list in subset_list: if len(subset_item_list) == 1: stop = True rtn.append(subset_item_list) if stop: break return rtn def get_all_subses(s): from itertools import combinations return sum(map(lambda r: list(combinations(s, r)), range(1, len(s)+1)), []) def cal_associative_rule(frelist): rule_list = list() rule_dict = dict() for fre_item in frelist: fre_items = fre_item.split(",") subitem_list = get_all_subset(fre_items) for subitem in subitem_list: # 忽略为为自身的子集 if len(subitem) == len(fre_items): continue else: difference = set(fre_items).difference(subitem) rule_list.append("^".join(subitem)+"->"+"^".join(difference)) print ("The rule is:") for rule in rule_list: conf = cal_rule_confidency(rule) print (rule,conf) if conf >= min_confidence: rule_dict[rule] = conf print ("The associative rule is:") for key in rule_list: if key in rule_dict.keys(): print (key,":",rule_dict[key]) def cal_rule_confidency(rule): rules = rule.split("->") support1 = get_support("^".join(rules),False) support2 = get_support(rules[0],False) if support2 == 0: return 0 rule_confidency = float(support1)/float(support2) return rule_confidency if __name__ == '__main__': record_list = list() record_dict = dict() get_c1() # 不断进行自连接和剪枝,直到得到最终的频繁集为止;终止条件是,如果自连接得到的已经不再是频繁集 # 那么取最后一次得到的频繁集作为结果 while True: record_list = fre_list new_list = get_candidateset() judge_dict = judge(new_list) if len(judge_dict) == 0: break else: record_dict = judge_dict print ("The final frequency set is:") print (record_list) # 根据频繁集计算关联规则 cal_associative_rule(record_list) 运行后,出错,结果输出如下: Traceback (most recent call last): File "D:\Workspaces\MyEclipse 2017 CI\pythontest\src\pythontest.py", line 213, in <module> candidate set: get_c1() File "D:\Workspaces\MyEclipse 2017 CI\pythontest\src\pythontest.py", line 29, in get_c1 print_dict(new_dict) File "D:\Workspaces\MyEclipse 2017 CI\pythontest\src\pythontest.py", line 160, in print_dict keys.sort() AttributeError: 'dict_keys' object has no attribute 'sort' 找了很久,不知道出错点在哪,求指教。
TensorFlow 自编码器 placeholder错误
``` import numpy as np import tensorflow as tf def xavier_init(fan_in, fan_out, constant=1): low = -constant * np.sqrt(6.0 / (fan_in + fan_out)) high = constant * np.sqrt(6.0 / (fan_in + fan_out)) return tf.random_uniform((fan_in, fan_out), minval=low, maxval=high, dtype=tf.float32) class AdditiveGaussionNoiseAutoencoder(object): def __init__(self, n_input, n_hidden, transfer_function=tf.nn.relu, optimizer=tf.train.AdamOptimizer(), scale=0.1): self.n_input = n_input self.n_hidden = n_hidden self.transfer = transfer_function self.scale = tf.placeholder(tf.float32) self.training_scale = scale network_weights = self._initialize_weights() self.weights = network_weights self.x = tf.placeholder(tf.float32, [None, self.n_input]) self.hidden = self.transfer(tf.add(tf.matmul( self.x + scale * tf.random_normal((n_input,)), self.weights['w1']), self.weights['b1'])) self.reconstruction = tf.add(tf.matmul(self.hidden, self.weights['w2']), self.weights['b2']) self.cost = tf.sqrt(tf.reduce_mean(tf.pow(tf.subtract( self.reconstruction, self.x), 2.0))) self.optimizer = optimizer.minimize(self.cost) init = tf.global_variables_initializer() self.sess = tf.Session() self.sess.run(init) def _initialize_weights(self): all_weights = dict() all_weights['w1'] = tf.Variable(xavier_init(self.n_input, self.n_hidden)) all_weights['b1'] = tf.Variable(tf.zeros([self.n_hidden], dtype=tf.float32)) all_weights['w2'] = tf.Variable(tf.zeros([self.n_hidden, self.n_input], dtype=tf.float32)) all_weights['b2'] = tf.Variable(tf.zeros([self.n_input], dtype=tf.float32)) return all_weights def partial_fit(self, X): cost, opt = self.sess.run((self.cost, self.optimizer), feed_dict={self.x: X, self.scale: self.training_scale}) return cost def calc_total_cost(self, X): return self.sess.run(self.cost, feed_dict={self.x: X, self.scale: self.training_scale}) def transform(self, X): return self.sess.run(self.hidden, feed_dict={self.x: X, self.scale: self.training_scale}) def generate(self, hidden=None): if hidden is None: hidden = np.random.normal(size=self.weights['b1']) return self.sess.run(self.reconstruction, feed_dict={self.hidden: hidden}) def reconstruct(self, X): return self.sess.run(self.reconstruction, feed_dict={self.x: X, self.scale: self.training_scale}) def getweights(self): return self.sess.run(self.weights['w1']) def getbiases(self): return self.sess.run(self.weights['b1']) ``` ``` import numpy as np import tensorflow as tf from DSAE import AdditiveGaussionNoiseAutoencoder import xlrd import sklearn.preprocessing as prep #数据读取,可转换为csv文件,好处理,参见ConvertData train_input = "/Users/Patrick/Desktop/traffic_data/train_500010092_input.xls" train_output = "/Users/Patrick/Desktop/traffic_data/train_500010092_output.xls" test_input = "/Users/Patrick/Desktop/traffic_data/test_500010092_input.xls" test_output = "/Users/Patrick/Desktop/traffic_data/test_500010092_output.xls" book_train_input = xlrd.open_workbook(train_input, encoding_override='utf-8') book_train_output = xlrd.open_workbook(train_output, encoding_override='utf-8') book_test_input = xlrd.open_workbook(test_input, encoding_override='utf-8') book_test_output = xlrd.open_workbook(test_output, encoding_override='utf-8') sheet_train_input = book_train_input.sheet_by_index(0) sheet_train_output = book_train_output.sheet_by_index(0) sheet_test_input = book_test_input.sheet_by_index(0) sheet_test_output = book_test_output.sheet_by_index(0) data_train_input = np.asarray([sheet_train_input.row_values(i) for i in range(2, sheet_train_input.nrows)]) data_train_output = np.asarray(([sheet_train_output.row_values(i) for i in range(2, sheet_train_output.ncols)])) data_test_input = np.asarray([sheet_test_input.row_values(i) for i in range(2, sheet_test_input.nrows)]) data_test_output = np.asarray(([sheet_test_output.row_values(i) for i in range(2, sheet_test_output.ncols)])) def standard_scale(X_train, X_test): preprocessor=prep.StandardScaler().fit(X_train) X_train=preprocessor.transform(X_train) X_test=preprocessor.transform(X_test) return X_train, X_test X_train, X_test = standard_scale(data_train_input, data_test_input) def get_block_form_data(data, batch_size, k): #start_index =0 start_index = k * batch_size return data[start_index:(start_index+batch_size)] training_epochs = 20 batch_size = 288 n_samples = sheet_test_output.nrows display_step = 1 stack_size = 3 hidden_size = [10, 8, 10] sdae = [] for i in range(stack_size): if i == 0: ae = AdditiveGaussionNoiseAutoencoder(n_input=12, n_hidden=hidden_size[i], transfer_function=tf.nn.relu, optimizer=tf.train.AdamOptimizer(learning_rate=0.01), scale=0.01) ae._initialize_weights() sdae.append(ae) else: ae = AdditiveGaussionNoiseAutoencoder(n_input=hidden_size[i-1], n_hidden=hidden_size[i], transfer_function=tf.nn.relu, optimizer=tf.train.AdamOptimizer(learning_rate=0.01), scale=0.01) ae._initialize_weights() sdae.append(ae) W = [] b = [] hidden_feacture = [] X_train = np.array([0]) for j in range(stack_size): if j == 0: X_train = data_train_input X_test = data_test_input else: X_train_pre = X_train X_train = sdae[j-1].transform(X_train_pre) print(X_train.shape) hidden_feacture.append(X_train) for epoch in range(training_epochs): avg_cost = 0. total_batch = int(n_samples / batch_size) for i in range(total_batch): batch_xs = get_block_form_data(X_train, batch_size, i) cost = sdae[j].partial_fit(batch_xs) avg_cost += cost / n_samples * batch_size if epoch % display_step == 0: print("Epoch:", '%04d' % (epoch + 1), "cost=", "{:.9f}".format(avg_cost)) weight = sdae[j].getweights() W.append(weight) print(np.shape(W)) b.append(sdae[j].getbiases()) print(np.shape(b)) ``` 然后报错如下: ``` File "/Applications/PyCharm.app/Contents/helpers/pydev/pydev_run_in_console.py", line 53, in run_file pydev_imports.execfile(file, globals, locals) # execute the script File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "/Users/Patrick/PycharmProjects/DSAE-SVM/DLmain.py", line 80, in <module> X_train = sdae[j-1].transform(X_train_pre) File "/Users/Patrick/PycharmProjects/DSAE-SVM/DSAE.py", line 70, in transform feed_dict={self.x: X, self.scale: self.training_scale}) File "/Users/Patrick/anaconda3/envs/tensorflow/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 905, in run run_metadata_ptr) File "/Users/Patrick/anaconda3/envs/tensorflow/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 1113, in _run str(subfeed_t.get_shape()))) ValueError: Cannot feed value of shape (18143, 3) for Tensor 'Placeholder_1:0', which has shape '(?, 12)' PyDev console: starting. Python 3.4.5 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:47:57) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin ``` 实在是不知道该如何修改palceholder的shape 求帮忙讲解
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me for a ...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
C++(数据结构与算法):62---搜索树(二叉搜索树、索引二叉搜索树)
一、搜索树的复杂度分析 本文考察二叉搜索树和索引二叉搜索树 二叉搜索树的渐进性能可以和跳表媲美: 查找、插入、删除操作所需的平均时间为Θ(logn) 查找、插入、删除操作的最坏情况的时间为Θ(n) 元素按升序输出时所需时间为Θ(n) 虽然在最坏情况下的查找、插入、删除操作,散列表和二叉搜索树的时间性能相同,但是散列表在最好的情况下具有超级性能Θ(1) 不过,对于一个指定的关键...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
立即提问