日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python进程实例

發(fā)布時(shí)間:2024/9/20 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python进程实例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

需要用到的一些知識(shí):

1.open() 文件操作

open(路徑+文件名,讀寫模式)
f=open(‘/tmp/hello’,’w’)

讀寫模式:r只讀, r+讀寫, w新建(會(huì)覆蓋原有文件) ,a追加, b二進(jìn)制文件. 常用模式

如:’rb’,’wb’,’r+b’等等
讀寫模式的類型有:

rU 或 Ua 以讀方式打開, 同時(shí)提供通用換行符支持 (PEP 278)
w 以寫方式打開,
a 以追加模式打開 (從 EOF 開始, 必要時(shí)創(chuàng)建新文件)
r+ 以讀寫模式打開
w+ 以讀寫模式打開 (參見 w )
a+ 以讀寫模式打開 (參見 a )
rb 以二進(jìn)制讀模式打開
wb 以二進(jìn)制寫模式打開 (參見 w )
ab 以二進(jìn)制追加模式打開 (參見 a )
rb+ 以二進(jìn)制讀寫模式打開 (參見 r+ )
wb+ 以二進(jìn)制讀寫模式打開 (參見 w+ )
ab+ 以二進(jìn)制讀寫模式打開 (參見 a+ )

注意:
1、使用’W’,文件若存在,首先要清空,然后(重新)創(chuàng)建,
2、使用’a’模式 ,把所有要寫入文件的數(shù)據(jù)都追加到文件的末尾,即使你使用了seek()指向文件的其他地方,如果文件不存在,將自動(dòng)被創(chuàng)建。
f.read([size]) size未指定則返回整個(gè)文件,如果文件大小>2倍內(nèi)存則有問題.f.read()讀到文件尾時(shí)返回”“(空字串)

file.readline() 返回一行

file.readline([size]) 返回包含size行的列表,size 未指定則返回全部行

for line in f: print line #通過迭代器訪問

f.write(“hello\n”) #如果要寫入字符串以外的數(shù)據(jù),先將他轉(zhuǎn)換為字符串.

f.tell() 返回一個(gè)整數(shù),表示當(dāng)前文件指針的位置(就是到文件頭的比特?cái)?shù)).

f.seek(偏移量,[起始位置]) 用來移動(dòng)文件指針

偏移量:單位:比特,可正可負(fù)

起始位置:0-文件頭,默認(rèn)值;1-當(dāng)前位置;2-文件尾

f.close() 關(guān)閉文件

2.python strip()函數(shù)

聲明:s為字符串,rm為要?jiǎng)h除的字符序列

s.strip(rm) 刪除s字符串中開頭、結(jié)尾處,位于 rm刪除序列的字符

s.lstrip(rm) 刪除s字符串中開頭處,位于 rm刪除序列的字符

s.rstrip(rm) 刪除s字符串中結(jié)尾處,位于 rm刪除序列的字符

注意:

  • 當(dāng)rm為空時(shí),默認(rèn)刪除空白符(包括’\n’, ‘\r’, ‘\t’, ’ ‘)
  • 這里的rm刪除序列是只要邊(開頭或結(jié)尾)上的字符在刪除序列內(nèi),就刪除掉。
  • 3.python讀取文件時(shí)提示:

    “UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 205: illegal multibyte sequence”

    解決辦法1.
    FILE_OBJECT= open(‘order.log’,’r’, encoding=’UTF-8’)
    解決辦法2.
    FILE_OBJECT= open(‘order.log’,’rb’)

    代碼示例:

    # 并行處理某個(gè)目錄下文件中的字符個(gè)數(shù)和行數(shù),存入res.txt文件中, # 每個(gè)文件一行,格式為:filename:lineNumber,charNumberimport os import time from multiprocessing import Pooldef getFile(path) : #獲取目錄下的文件listfileList = []for root, dirs, files in list(os.walk(path)) : # 遍歷path下的所有文件for i in files:if i.endswith('.py'):fileList.append(root + "\\" + i) # 得到了完整的路徑# print(fileList) # 打印符合條件的文件return (fileList) # 打印符合條件的文件def operFile(filePath) : #統(tǒng)計(jì)每個(gè)文件中行數(shù)和字符數(shù),并返回with open(filePath,'r',encoding='utf-8') as f: # 以u(píng)tf-8統(tǒng)一的編碼格式content=f.readlines() lines = len(content) alphaNum = 0for i in content :alphaNum += len(i.strip('\n')) return filePath,lines,alphaNumdef out(list1, writeFilePath) :#將統(tǒng)計(jì)結(jié)果寫入結(jié)果文件中fileLines = 0charNum = 0with open(writeFilePath,'a') as fp: # 以追加的模式for i in list1 :# 寫入的第一個(gè)參數(shù)是path,第二個(gè)是行數(shù),第三個(gè)是字符數(shù)# 使用'w',文件若存在,首先要清空,然后(重新)創(chuàng)建fp.write(i[0] + " 行數(shù):"+ str(i[1]) + " 字符數(shù):"+str(i[2]) + "\n")fileLines += i[1]charNum += i[2] print ('總的行數(shù):',fileLines)print ('總的字符數(shù):',charNum)if __name__ == "__main__": #創(chuàng)建多個(gè)進(jìn)程去統(tǒng)計(jì)目錄中所有文件的行數(shù)和字符數(shù)startTime = time.time()filePath = 'C:\\Users\\LiLong\\Desktop\\python日常'fileList = getFile(filePath) pool = Pool(5) # 創(chuàng)造一個(gè)進(jìn)程池,并且最多能容納5個(gè)進(jìn)程resultList =pool.map(operFile, fileList) pool.close()pool.join()# 寫入文件的路徑writeFilePath = "C:\\Users\\LiLong\\Desktop\\process\\rex.txt"print(resultList) out(resultList, writeFilePath) endTime = time.time()print("used time is ", endTime - startTime)

    運(yùn)行結(jié)果:

    參考:

    http://www.cnblogs.com/dkblog/archive/2011/02/24/1980651.html
    http://blog.csdn.net/seetheworld518/article/details/49639651

    總結(jié)

    以上是生活随笔為你收集整理的python进程实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。