❶ 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()