栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python爬虫遇到的一些杂七杂八的问题(2)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python爬虫遇到的一些杂七杂八的问题(2)

1.python计算float之后如何精简小数位数,并且转成str类型

a=5.123456

round(a,2)

a=5.12

但是会发生奇怪的事,就是str(round(a,2))*100之后

得到的是5.050000000000001,目前还没找到合适的解决方法

2.寻找某个目录下的所有文件

file_dir = "F:/123"
for root, dirs, files in os.walk(file_dir, topdown=False):
    print(root)     # 当前目录路径
    print(dirs)     # 当前目录下所有子目录
    print(files)        # 当前路径下所有非目录子文件

3.matplotlib画图的时候,图片里面的曲线反复叠加

这是因为画新的图的时候没有进行清空

plt.clf()  加一个这个语句就可以了

4.画图的时候,不是导入matplotlib就完事了,这样画图会失败

报错:AttributeError: module 'matplotlib' has no attribute 'plot'

应该是:

import matplotlib.pyplot as plt

import numpy as np

5.列表逆序操作,就是list.reverse()

这是一个方法,没有返回值,所以原来的列表就已经变了

6.画图之后保存figure

plt.savefig("filename.png")

7.画图通常需要一个横坐标,用np.linspace比较合适

x=np.linspace(0,2*np.pi,50)

就能够生成一个0-2pi的50个点的数列

8.for  i in range(0,10) 这样用最常见

不过也可以倒着数 for i in range(10,0,-1)

这样就是10-1,没有0

9.F1 = open(“source_1.txt",'r');
List_row = F1.readlines();
x = len(List_row);
y = len(List_row[0].split("|"));

这样就是打开了一个txt,读取了第一行,然后x就是行数,y就是以x的第一行进行切割,切割后的列数

10.也可以把txt切割成二维列表

F1 = open(r"C:UserslenovoDesktopinput.txt", "r")

List_row = F1.readlines()

list_source = []

for i in range(len(List_row)):

        column_list = List_row[i].strip().split("|") # 每一行split后是一个列表

        list_source.append(column_list) # 加入list_source

for i in range(len(list_source)): # 行数

        for j in range(len(list_source[i])): # 列数

                print list_source[i][j]

相当于新建了一个空列表,把每一次split之后的一维表存在新列表的第一项,就能实现二维索引了

(先索引第m行,然后索引这一行里面的列表的第n项)

11.'gbk' codec can't decode byte 0xbf in position

这个主要是解码txt的时候出现了错误

如果是f = open('H:score.txt','r') 就会出现错误

如果是:f = open('H:score.txt',encoding = 'utf-8')就可以了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666086.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号