當前位置:首頁 » 編程語言 » python同時讀寫

python同時讀寫

發布時間: 2023-03-06 06:01:15

python文件讀寫

常見的讀寫操作:

Python內置了讀寫文件的函數,用法和C是兼容的。本節介紹內容大致有:文件的打開/關閉、文件對象、文件的讀寫等。僅示例介紹 TXT 類型文檔的讀寫,也就是最基礎的文件讀寫,也需要注意編碼問題;

open()   close()     with open(...) as ...

看以下示例就能了解 Python 的 open() 及 close() 函數。這邊調用 read()方法可以一次讀取文件的全部內容,Python把內容讀到內存,用一個str對象表示,具體使用參見下文。

在 E 盤 python_file 文件夾下新建一 a.txt,輸入隨意,如下:

Python 操作 打開及關閉方式 如下:

注意 open() 之後 一定要 close()。但由於文件讀寫時都可能產生IOError,為了保證無論是否出錯都能正確地關閉文件,我們用 try ... finally 來實現:

python 簡化了改寫法,即用 with open(...) as ...  ; 建議之後文件讀寫都用該寫法:

上面,你肯定注意到了參數 "r";該參數決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式為只讀(r)。

相關參數:

File 對象

file 為一對象,它有一些內置屬性,如下

file對象的屬性:

read()    read(size)   readline()   readlines()

之前的例子已經接觸到了 read() 函數,該函數會會一次性讀取文件的全部內容,如果能確保文件的大小,自然可以。但若文件過大,內存就爆了,所以,可以反復調用read(size)方法,每次最多讀取size個位元組的內容;也可調用 readline() 每次讀取一行內容;而調用readlines()可以一次讀取所有內容並按行返回list。總之,根據需求來。僅以 txt 文件為例,其他的文件讀取需要特殊處理;另外,文件的格式編碼方式也需要注意;這邊僅介紹讀取方法,其他的會出專題來學習。

在D:\python_file 下新建 poet.txt;示例如下,由於一個中文會佔多個位元組,故read(size) 部分會亂碼,如:

write()

寫文件和讀文件是一樣的,唯一區別是調用open()函數時,傳入標識符'w'或者'wb'表示寫文本文件或寫二進制文件;'a' 對應的表示追加等。

如下示例,由於 write.txt 文件不存在,創建該文件並寫入:

在上例基礎上,繼續,該文件被重寫:

繼續,這次使用追加,會在文件結尾追加:

https://blog.csdn.net/msspark/article/details/86745391

https://www.cnblogs.com/tianyiliang/p/8192703.html

https://www.cnblogs.com/camilla/p/7234657.html

https://blog.csdn.net/songlh1234/article/details/83316468

https://www.php.cn/python-tutorials-412484.html

https://blog.csdn.net/weay/article/details/80946152

https://blog.csdn.net/xc_zhou/article/details/81044836

Ⅱ Python csv模塊(讀寫文件)

CSV文件又稱為逗號分隔值文件,是一種通用的、相對簡單的文件格式,用以存儲表格數據,包括數字或者字元。CSV是電子表格和資料庫中最常見的輸入、輸出文件格式。

通過爬蟲將數據抓取的下來,然後把數據保存在文件,或者資料庫中,這個過程稱為數據的持久化存儲。本節介紹Python內置模塊CSV的讀寫操作。

1)csv.writer()

csv模塊中的writer類可用於讀寫序列化的數據,其語法格式如下:

參數說明:

csvfile:必須是支持迭代(Iterator)的對象,可以是文件(file)對象或者列表(list)對象。

dialect:編碼風格,默認為excel的風格,也就是使用逗號,分隔。

fmtparam:格式化參數,用來覆蓋之前dialect對象指定的編碼風格。

如果想同時寫入多行數據,需要使用writerrows()方法,代碼如下所示:

aggs.csv文件內容:

2)csv.DictWriter()

當然也可使用DictWriter類以字典的形式讀寫數據,使用示例如下:

name.csv文件內容,如下所示:

1)csv,reader()

csv模塊中的reader類和DictReader類用於讀取文件中的數據,其中reader()語法格式如下:

2)csv.DictReader()

應用示例如下:

輸出結果:

開課吧廣場-人才學習交流平台

Ⅲ python 怎樣對excle文件進行讀寫操作

分別進入到xlrd和xlwt文件中對setup.py進行安裝,安裝命令為setup.py install
進入python解釋器,輸入import xlwt,正常無報錯即可
下面是我寫的一個將Excle文件中的數據讀取到普通文本中,和從普通文本寫到Excel的一個互換程序:
[python] view plain
#encoding:utf8
import xlrd
import xlwt

class OperExcel():
#讀取Excel表
def rExcel(self,inEfile,outfile):
rfile = xlrd.open_workbook(inEfile)
#創建索引順序獲取一個工作表
table = rfile.sheet_by_index(0)
#其他方式
#table = rfile.sheets()[0]
#table = rfile.sheet_by_name(u'Sheet1')

#獲取整行,整列的值
table.row_values(0)
table.col_values(0)

#獲取行數和列數
nrows = table.nrows - 1
ncols = table.ncols

#循環獲取列表的數據
#for i in range(nrows):
# print table.row_values(i)
wfile = open(outfile,'w')
#獲取第一列中的所有值
for i in range(nrows):
#table.cell(i,0).value獲取某一單元格的值
wfile.write(table.cell(i,0).value.encode('utf8') + '\n')
wfile.close()

#將數據寫入Excel表
def wExcel(self,infile,outEfile):
rfile = open(infile,'r')
buf = rfile.read().split('\n')
rfile.close()

w = xlwt.Workbook()
sheet = w.add_sheet('sheet1')
for i in range(len(buf)):
print buf[i]
sheet.write(i,0,buf[i].decode('utf8'))
w.save(outEfile)

if __name__ == '__main__':
t = OperExcel()
t.rExcel('test.xls','test')
t.wExcel('test','1.xls')

Ⅳ python同時讀寫多個文件暨大型json文件讀取方法

最近處理NLP數據集時,需要一邊讀json文件,一邊向自己創建的txt寫入提取出的對話數據集,即同時讀寫多個文件,本來記得以前在哪看過這波操作的,但時間有點久了,忘了。

又由於新換了mac,win上原有的梯子掛了,這就很離譜,因此也沒法谷歌,只能用網路湊合著查了一番,看看有沒有大佬記錄了這個小tip。但是很遺憾,網上找到的方法都很撈,簡直是海底撈,沒辦法。好在腦子里還有點印象,修修改改總算寫出來了,在此做個記錄,同時也開源方便一下諸位道友。

你是不是覺得我很撈,很菜,連個文件讀寫都不會~
那麼,對不起,諸位,現在,我要起飛了,你以為你是第二層,我是第一層,實際上,我在第五層,且看我寫給你看~

最後,如果有道友對俺的開放域對話數據集感興趣,這個其實也是開源的
數據集鏈接

Ⅳ 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 request/讀寫/上傳文件

python 讀寫文件:

data_json = json.mps(result_r)  #json字元串  

f =open('E://XXX.txt',"a+")  #打開文件,追加+讀寫

f.write(data_json) # data_json 寫入XXX.txt'文件

f.seek(0)  # 游標移動到文件開頭

lines = f.read() # 逐行讀入

f.close() #關閉文件

mode 打開的方式(r,w,a,x,b,t,r+,w+,a+,U)

r 以只讀方式打開文件。文件的指針會放在文件的開頭。

w 以寫入方式打開文件。文件存在覆蓋文件,文件不存在創建一個新文件。

a 以追加方式打開文件。如果文件已存在,文件指針放在文件末尾。如果文件不存在,創建新文件並可寫入。

r+ 打開一個文件用於讀寫,文件指針會放在文件的開頭

w+ 打開一個文件用於讀寫,文件存在覆蓋文件,文件不存在創建一個新文件。

a+ 打開一個文件用於讀寫,如果文件已存在,文件指針放在文件末尾。如果文件不存在,創建新文件並可寫入。

記憶方法:記住r讀,w寫,a追加,每個模式後加入+號就變成可讀寫。

f =open('E://xxx.txt',"a+")    /    f=open(r'E://xxx.txt',mode='a+',encoding='UTF-8')

踩坑1>  

沒有加encoding='UTF-8',可能會報如下錯:

import requests  # 使用 request函數需導入 request 庫

import json   #使用 JSON 函數需要導入 json 庫: import json 。

param ={} #請求body

url ='http://域名/api' 

header = {'content-type':'application/json'}

r = requests.post(url,json=param,headers=header)    #發送post請求

result_r = r.json() #請求返回的json傳入對象result_r

data_json = json.mps(result_r)  #將 Python-result_r對象轉為字元串 json.mps()

文件上傳請求(csv文件)

file_path = "xxx.csv"   文件路徑

uploaddata = {"file":open(file_path, "rb")}  

file_upload_result = requests.post(api_URL, files=uploaddata, cookies=cookie)

Ⅶ python可以同時對文件進行讀寫操作嗎

對文件的操作,步驟為:打開一個文件-->讀取/寫入內容-->保存文件
文件讀寫的3中模式
# 1、w 寫模式,它是不能讀的,如果用w模式打開一個已經存在的文件,會清空以前的文件內容,重新寫
# w+ 是讀寫內容,只要沾上w,肯定會清空原來的文件
# 2、r 讀模式,只能讀,不能寫,而且文件必須存在
# r+ 是讀寫模式,只要沾上r,文件必須存在
# 3、a 追加模式,也能寫,在文件的末尾添加內容
# 4、rb+、wb+、ab+,這種是二進制模式打開或者讀取,一些音樂文件
test1.txt

1 如果無情的風摘走了那片樹葉
2 如同摘走了我的心
3 在每一個想你的夜晚
4 請允許我將你抱緊
5 我不像一隻大雁可以秋去春來
6 銜回丟失的緣分
7 所以從來不敢回憶離別
8 越是清晰 越是傷心
9 你說所有的城市沒有不同
10 我寧願相信你心中有片草原

1、循環讀取文件中的每一行內容:
demo1.py1 file = open('test1.txt','r+')# 打開test1.txt 文件
2 for line in file: # 遍歷file文件
3 print('line裡面存放的是:',line) # 循環列印文件中每一行內容
4 print(type(line)) # <class 'str'> 類型是字元串
5 file.close()# 關閉文件

用with的方式打開文件,不用擔心使用完文件後忘記關閉,它會自動將文件關閉1 with open('test1.txt','r+') as file:
2 for line in file:
3 print('line裡面存放的是:',line) # 循環列印文件中每一行內容
4 print(type(line)) # <class 'str'> 類型是字元串
3、向文件中寫入內容
1 with open('users','a+') as fw: # 打開文件
2 fw.write('寫入文件內容')
4、用函數的方式讀取文件

1 def read_file(filename):
2 '''
3 用來讀取文件內容
4 :param filename: 文件名
5 '''
6 with open(filename,'a+') as fr:
7 fr.seek(0) # 移動文件指針
8 content = fr.read() # content 類型是字元串
9 print('content:',content)
10 read_file('users') # 調用函數

5、用函數的方式寫文件

1 def write_file(filename,content):
2 '''
3 用來讀取文件內容的
4 :param filename: 文件名
5 '''
6 with open(filename,'a+') as fw:
7 fw.seek(0) # 移動文件指針
8 fw.truncate() # 清空文件內容
9 fw.write(str(content))
10 write_file('a','hello world') # 調用函數

熱點內容
雲隙伺服器下載 發布:2024-05-19 04:33:22 瀏覽:312
德國C語言 發布:2024-05-19 04:13:40 瀏覽:959
音頻管理器沒有文件夾 發布:2024-05-19 04:13:36 瀏覽:666
qq郵箱埠993伺服器怎麼填 發布:2024-05-19 04:07:05 瀏覽:202
javaapi框架 發布:2024-05-19 04:06:59 瀏覽:359
與存儲結構無關的術語 發布:2024-05-19 04:05:41 瀏覽:499
編譯路由器固件選擇 發布:2024-05-19 03:56:28 瀏覽:39
手機f加密 發布:2024-05-19 03:28:47 瀏覽:225
用什麼密碼寫日記 發布:2024-05-19 03:27:57 瀏覽:303
資料庫access2003 發布:2024-05-19 02:49:39 瀏覽:620