导航:首页 > 编程语言 > pythonlog2

pythonlog2

发布时间:2023-10-22 03:25:39

python具体在文本处理上怎么用

在诸多软件压缩包中或是项目压缩包中都会存在一个readme.txt文件,其中的内容无非是对软件的简单介绍和注意事项。但是在该文本文件中,内容没有分段分行,是非常冗杂地混在一起。当然处理手段多种多样,而我正好尝试利用Python解决这个问题。另外,这些内容或许对将来爬虫爬下的内容进行处理也是有些帮助的,只不过面对的混乱和处理需求不同而已。
这里的思路很简单,打开一个文本文档,对其中具有两个及两个以上的空格进行处理,即产生换行,另外出现很多的‘=’和‘>>>’也进行处理。这里我尝试处理的是easyGUI文件夹中的read.txt,该文件我复制在了D盘的根目录下。具体的实现代码如下:
def save_file(lister):#将传入的列表保存在新建文件中 new_file = open('new_file','w')#创建并打开文件,文件可写 new_file.writelines(lister)#将列表lister中的内容逐行打印 new_file.close()#关闭文件,且缓存区中的内容保存至该文件中def split_file(filename):#分割原始文件 f = open(filename)#打开该原始文件,默认该文件不可修改 lister = []#初始化一个空列表 for each_line in f: if each_line[:6] != '======' and each_line[:3] != '>>>': #当连续出现六个‘=’或连续三个‘>’时,打印一个换行符,实际体现在else中 each_line.split(' ',1)#当出现两个空格时,分割一次,并在下一行代码中以一行的形式保存在列表中 lister.append(each_line) else:
lister.append('\n')

save_file(lister)
f.close()

split_file('D:\\README.txt')
代码给出了详细的注释。其中得到的新的名为“new_file”的文件保存在默认的Python项目的目录下。当然,可以通过chdir()更改工作目录,使得文件创建在自己指定的位置。

❷ 如何用Python画各种着名数学图案

如何用Python画各种着名数学图案 | 附图+代码

用Python绘制着名的数学图片或动画,展示数学中的算法魅力。
Mandelbrot 集

'''
A fast Mandelbrot set wallpaper renderer

reddit discussion:
'''
importnumpy asnp
fromPILimportImage
fromnumba importjit

MAXITERS=200
RADIUS=100

@jit
defcolor(z, i):
v =np.log2(i +1-np.log2(np.log2(abs(z)))) /5
ifv <1.0:
returnv**4, v**2.5, v
else:
v =max(0, 2-v)
returnv, v**1.5, v**3

@jit
defiterate(c):
z =0j
fori inrange(MAXITERS):
ifz.real*z.real +z.imag*z.imag >RADIUS:
returncolor(z, i)
z =z*z +c
return0, 0,0

defmain(xmin, xmax, ymin, ymax, width, height):
x =np.linspace(xmin, xmax, width)
y =np.linspace(ymax, ymin, height)
z =x[None, :] +y[:, None]*1j
red, green, blue =np.asarray(np.frompyfunc(iterate, 1, 3)(z)).astype(np.float)
img =np.dstack((red, green, blue))
Image.fromarray(np.uint8(img*255)).save('mandelbrot.png')

if__name__=='__main__':
main(-2.1, 0.8, -1.16, 1.16, 1200, 960)

❸ Python大数据, 一些简单的操作

#coding:utf-8
#file: FileSplit.py

import os,os.path,time

def FileSplit(sourceFile, targetFolder):
sFile = open(sourceFile, 'r')
number = 100000 #每个小文件中保存100000条数据
dataLine = sFile.readline()
tempData = [] #缓存列表
fileNum = 1
if not os.path.isdir(targetFolder): #如果目标目录不存在,则创建
os.mkdir(targetFolder)
while dataLine: #有数据
for row in range(number):
tempData.append(dataLine) #将一行数据添加到列表中
dataLine = sFile.readline()
if not dataLine :
break
tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + str(fileNum) + ".txt")
tFile = open(tFilename, 'a+') #创建小文件
tFile.writelines(tempData) #将列表保存到文件中
tFile.close()
tempData = [] #清空缓存列表
print(tFilename + " 创建于: " + str(time.ctime()))
fileNum += 1 #文件编号

sFile.close()

if __name__ == "__main__" :
FileSplit("access.log","access")
#coding:utf-8
#file: Map.py

import os,os.path,re

def Map(sourceFile, targetFolder):
sFile = open(sourceFile, 'r')
dataLine = sFile.readline()
tempData = {} #缓存列表
if not os.path.isdir(targetFolder): #如果目标目录不存在,则创建
os.mkdir(targetFolder)
while dataLine: #有数据
p_re = re.compile(r'(GET|POST)\s(.*?)\sHTTP/1.[01]',re.IGNORECASE) #用正则表达式解析数据
match = p_re.findall(dataLine)
if match:
visitUrl = match[0][1]
if visitUrl in tempData:
tempData[visitUrl] += 1
else:
tempData[visitUrl] = 1
dataLine = sFile.readline() #读入下一行数据

sFile.close()

tList = []
for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):
tList.append(key + " " + str(value) + '\n')

tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + "_map.txt")
tFile = open(tFilename, 'a+') #创建小文件
tFile.writelines(tList) #将列表保存到文件中
tFile.close()

if __name__ == "__main__" :
Map("access\\access.log1.txt","access")
Map("access\\access.log2.txt","access")
Map("access\\access.log3.txt","access")
#coding:utf-8
#file: Rece.py

import os,os.path,re

def Rece(sourceFolder, targetFile):
tempData = {} #缓存列表
p_re = re.compile(r'(.*?)(\d{1,}$)',re.IGNORECASE) #用正则表达式解析数据
for root,dirs,files in os.walk(sourceFolder):
for fil in files:
if fil.endswith('_map.txt'): #是rece文件
sFile = open(os.path.abspath(os.path.join(root,fil)), 'r')
dataLine = sFile.readline()

while dataLine: #有数据
subdata = p_re.findall(dataLine) #用空格分割数据
#print(subdata[0][0]," ",subdata[0][1])
if subdata[0][0] in tempData:
tempData[subdata[0][0]] += int(subdata[0][1])
else:
tempData[subdata[0][0]] = int(subdata[0][1])
dataLine = sFile.readline() #读入下一行数据

sFile.close()

tList = []
for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):
tList.append(key + " " + str(value) + '\n')

tFilename = os.path.join(sourceFolder,targetFile + "_rece.txt")
tFile = open(tFilename, 'a+') #创建小文件
tFile.writelines(tList) #将列表保存到文件中
tFile.close()

if __name__ == "__main__" :
Rece("access","access")

❹ Python--math库

        Python math 库提供许多对浮点数的数学运算函数,math模块不支持复数运算,若需计算复数,可使用cmath模块(本文不赘述)。

使用dir函数,查看math库中包含的所有内容:

1) math.pi    # 圆周率π

2) math.e    #自然对数底数

3) math.inf    #正无穷大∞,-math.inf    #负无穷大-∞

4) math.nan    #非浮点数标记,NaN(not a number)

1) math.fabs(x)    #表示X值的绝对值

2) math.fmod(x,y)    #表示x/y的余数,结果为浮点数

3) math.fsum([x,y,z])    #对樱岁如括号内每个元素求和,其值为浮点数

4) math.ceil(x)    #向上取整,返回不小于x的最小整数

5)math.floor(x)    #向下取整,返回不大于x的最大整数

6) math.factorial(x)    #表示X的阶乘,其中X值必须为整型,否则报错

7) math.gcd(a,b)    #表示a,b的最大公约数

8)  math.frexp(x)      #x = i *2^j,返回(i,j)

9) math.ldexp(x,i)    #返回x*2^i的运算值,为math.frexp(x)函数的反运算

10) math.modf(x)    #表示x的小数和整数部分

11) math.trunc(x)    #表示x值的整数部分

12) math.sign(x,y)    #表示用数值y的正负号,替换x值的正负号

13) math.isclose(a,b,rel_tol =x,abs_tol = y)    #表示a,b的相似性,真值返回True,否则False;rel_tol是相对公差:雀庆表示a,b之间允许的最大差值,abs_tol是最小绝对公差,对比较接近于0有用,abs_tol必须至少为0。

14) math.isfinite(x)    #表示当x不为无穷大时,返回True,否则返回脊启False

15) math.isinf(x)    #当x为±∞时,返回True,否则返回False

16) math.isnan(x)    #当x是NaN,返回True,否则返回False

1) math.pow(x,y)    #表示x的y次幂

2) math.exp(x)    #表示e的x次幂

3) math.expm1(x)    #表示e的x次幂减1

4) math.sqrt(x)    #表示x的平方根

5) math.log(x,base)    #表示x的对数值,仅输入x值时,表示ln(x)函数

6) math.log1p(x)    #表示1+x的自然对数值

7) math.log2(x)    #表示以2为底的x对数值

8) math.log10(x)    #表示以10为底的x的对数值

1) math.degrees(x)    #表示弧度值转角度值

2) math.radians(x)    #表示角度值转弧度值

3) math.hypot(x,y)    #表示(x,y)坐标到原点(0,0)的距离

4) math.sin(x)    #表示x的正弦函数值

5) math.cos(x)    #表示x的余弦函数值

6) math.tan(x)    #表示x的正切函数值

7)math.asin(x)    #表示x的反正弦函数值

8) math.acos(x)    #表示x的反余弦函数值

9) math.atan(x)    #表示x的反正切函数值

10) math.atan2(y,x)    #表示y/x的反正切函数值

11) math.sinh(x)    #表示x的双曲正弦函数值

12) math.cosh(x)    #表示x的双曲余弦函数值

13) math.tanh(x)    #表示x的双曲正切函数值

14) math.asinh(x)    #表示x的反双曲正弦函数值

15) math.acosh(x)    #表示x的反双曲余弦函数值

16) math.atanh(x)    #表示x的反双曲正切函数值

1)math.erf(x)    #高斯误差函数

2) math.erfc(x)    #余补高斯误差函数

3) math.gamma(x)    #伽马函数(欧拉第二积分函数)

4) math.lgamma(x)    #伽马函数的自然对数

❺ 怎样用python画对数图

1、用python画出log1.5(x),log(2x),log(3x)

[python]view plain

阅读全文

与pythonlog2相关的资料

热点内容
百川互联网程序员 浏览:779
linuxpython解释器 浏览:665
兴安得力软件加密狗 浏览:490
智能网络摄像头加密 浏览:572
软件毕业程序员培训 浏览:650
安卓陀螺仪低怎么办 浏览:245
一级建造师复习题集pdf 浏览:901
法理学pdf海默 浏览:390
服务器内存储器是用什么的 浏览:817
微帮同城分类信息源码 浏览:806
安卓系统ad是什么 浏览:471
python输出中不加占位符 浏览:594
linux文件夹权限控制 浏览:728
雅虎邮箱怎么加密码 浏览:819
为什么安卓手机登录不了苹果账号 浏览:535
如何复制usb加密狗 浏览:799
哪个app看你微笑时很美 浏览:908
mac启动命令 浏览:602
ngc服务器是什么的简称 浏览:73
深度系统如何创建文件夹 浏览:847