❶ python数组求和
在数组和矩阵中使用sum: 对数组b和矩阵c,代码b.sum(),np.sum(b),c.sum(),np.sum(c)都能将b、c中的所有元素求和并返回单个数值。
但是对于二维数组b,代码b.sum(axis=0)指定对数组b对每列求和,b.sum(axis=1)是对每行求和,返回的都是一维数组(维度降了一维)。
而对应矩阵c,c.sum(axis=0)和c.sum(axis=1)也能实现对列和行的求和,但是返回结果仍是二维矩阵。
# 定义函数,arr 为数组,n 为数组长度,可作为备用参数,这里没有用到。
def_sum(arr,n):
# 使用内置的 sum 函数计算。
return(sum(arr))
# 调用函数
arr=[]
# 数组元素
arr=[12,3,4,15]
# 计算数组元素的长度
n=len(arr)
ans=_sum(arr,n)
# 输出结果
print('数组元素之和为',ans)
(1)pythontofile扩展阅读:
python数组使用:
python 数组支持所有list操作,包括 .pop、.insert 和 .extend。另外,数组还提供从文件,读取和存入文件的更快的方法,列如如 .frombytes 和 .tofile,如下所示我们定义一个数组。
from array import arrayarr=array('d',(a for a in range(5)))print(arr)。
arr=array('d',(a for a in range(5)))从这个代码中可以看出,一个数组的定义需要传入的不只是值还有类型。
可以是(must be c, b, B, u, h, H, i, I, l, L, f or d)。
❷ python 从文本中判断每行的类型输出到指定文件
我通常建议一开始就用面向对象的思维把事务模块化做好。所以先分析这个问题,抽象,比如你这个需求,其实是文件分隔,加上文本识别,还与文本序列的上下文有关,先写主程序,再分解实现好。
主程序是这样子,假设文本被读放一个lines的list里,主程序这么写
def main():
global last_context
for line in lines:
if is_conext(line):
keep_conext(line)
else:
save_to_file(last_context, line)
这就OK了。
下面再实现数据结构定义
global last_context
last_context=None
然后再实现两个函数
def keep_context(line):
global last_conext
last_conext=line[1:-1]
def is_conext(line):
return line.startswith("[")
def save_to_file(last_context,line):
try:
open(str(last_context)+“.txt","ab").write("%s\r\n"%line)
except:pass
这样会比较清晰。不容易写错程序,效率也高。也容易做测试。
❸ python3.3运行错误argument error,怎么处理啊
创建文件print_file.py
importsys
usage="""./*.pyfile.kodataFile.data"""
defreadKo(file):#constructakodiction
f=open(file,'r')
koDic={}
forlineinf:
line=line.strip(" ")
words=line.split(" ")
gene=words[0]
ko=words[1]
koDic[gene]=ko#{gene:ko}
f.close()
returnkoDic
defprintToFile(dataFile,koDic):#
f=open(dataFile,'r')
forlineinf:
line=line.strip(" ")
words=line.split(" ")
ifkoDic.has_key(words[0]):
sys.stdout.write("%s %s "%(line,koDic[words[0]]))
else:
sys.stderr.write("%shasnokonumber "%words[0])
f.close()
if__name__=='__main__':
iflen(sys.argv)!=3:
sys.stderr.write("argumenterror %s "%usage)
sys.exit(1)
koDic=readKo(sys.argv[1])
printToFile(sys.argv[2],koDic)
然后在shell中执行
pythonprint_file.pyfile.kodataFile.data
if__name__=='__main__'
这个东西是在文件中用的,而且你调用sys.argv[1]和sys.argv[2]就是你运行时输入的两参数
❹ python修改文件中以固定字符开头的一行内容
importre
replace_reg=re.compile(r'^ACCEPTssms_user.',re.MULTILINE)
withopen('fromFile.txt','rb')asff,open('c:/toFile.txt','wb')asft:
ft.write(replace_reg.subn('definesms_user=autotestabroad',ff.read())[0])
这种感觉?
❺ Python编写一个文件读写程序(命令行程序)
defreadfromfile(filename):
withopen(filename,'rt')ashandle:
returnhandle.read()
defappendtofile(filename,lines):
withopen(filename,'at')ashandle:
handle.writelines(lines)
defitercui():
while1:
content=raw_input()
ifcontentin('exit','quit'):
break
yieldcontent
if__name__=="__main__":
filename="record.log"
printreadfromfile(filename)
appendtofile(
filename,
[ln+' 'forlninitercui()]
)
❻ python中对已经排好序的词语怎么做词云
期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感。
今天要生成的是励志歌曲的词云,网络文库里面找了20来首,如《倔强》,海阔天空是,什么的大家熟悉的。
所要用到的python库有 jieba(一个中文分词库)、wordcould 、matplotlib、PIL、numpy。
首先我们要做的是读取歌词。我将歌词存在了文件目录下励志歌曲文本中。
现在来读取他
加入#encoding=gbk是为了防止后面操作报错SyntaxError: Non-UTF-8 code starting with 'xc0'
然后我们用jieba分词来对歌曲做分词提取出词频高的词
123456import jieba.analyseresult=jieba.analyse.textrank(lyric,topK=50,withWeight=True)keywords = dict()for i in result:keywords[i[0]]=i[1]print(keywords)得到结果:
12345678910111213from PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGeneratorimage= Image.open('./tim.jpg')graph = np.array(image)wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)wc.generate_from_frequencies(keywords)image_color = ImageColorGenerator(graph)plt.imshow(wc)plt.imshow(wc.recolor(color_func=image_color))plt.axis("off")plt.show()保存生成图片
1wc.to_file('dream.png')完整代码:
以上这篇python生成词云的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
❼ 在Windows系统中,如何python脚本实现分割合并大二进制文件,方便上传
你可以看看numpy.fromfile()方法,也可以自己open一个文件,再read()一定字节实现。
前者是把整个原文件读入内存成为数组,再选择数组的一部分写入文件(numpy.tofile())。后者是从原文件中读入一些字节,再把这些字节write到新文件中。
因此,方法并不难,基本上就是一个过程。
特别要注意的是,二进制文件是不存储任何格式信息的,所以,一定要弄清楚这个文件是如何产生的,因此,在分割文件时不要把一个数所对应的字节给分开。比如二进制文件中是32bit数据,那么,就要4字节为一个单位,不能在分割时分出一个1字节或2字节来,否则数据就错了。
❽ python词云图片保存在哪
wordcloud.to_file。
将生成的词云保存为output1.png图片文件,保存出到wordcloud.to_file图云.png文件夹中。
词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。基于Python的词云生成类库,很好用,而且功能强大。
❾ python 看是否存在文件夹 Python 判断文件/目录是否存在
1、Python 操作文件时,我们一般要先判断指定的文件或目录是否存在,不然容易产生异常。
2、例如我们可以使用 os 模块的 os.path.exists() 方法来检测文件是否存在:
import os.path
os.path.isfile(fname)
3、如果你要确定他是文件还是目录,从 Python 3.4 开始可以使用 pathlib 模块提供的面向对象的方法 (Python 2.7 为 pathlib2 模块):
from pathlib import Path
my_file = Path(/path/to/file)
if my_file.is_file():
# 指定的文件存在
检测是否为一个目录:
if my_file.is_dir():
# 指定的目录存在
4、如果要检测路径是一个文件或目录可以使用 exists() 方法:
if my_file.exists():
# 指定的文件或目录存在
在 try 语句块中你可以使用 resolve() 方法来判断:
try:
my_abs_path = my_file.resolve()
except FileNotFoundError:
# 不存在
else:
# 存在
❿ python如何自定义词云
推荐使用jieba模块来实现分词,WordCloud来绘制词云。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: utf-8 -*-
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud, STOPWORDS
# Read the whole text.
text = open('内容.txt', 'r').read()
text = " ".join(jieba.cut(text, cut_all=False))
# 爱心.png表示你绘图模板,就是最后图片的形状
alice_mask = np.array(Image.open('爱心.png'))
# 中文需要设置字体,songti.ttf代表宋体
wc = WordCloud(font_path='songti.ttf', background_color="white", mask=alice_mask,
max_words=2000)
# generate word cloud
wc.generate(text)
# store to file
wc.to_file('result.png')
# show
plt.imshow(wc)
plt.axis("off")
# plt.figure()
# plt.imshow(alice_mask, cmap=plt.cm.gray)
# plt.axis("off")
plt.show()