這篇文章主要為大家展示了“Python如何實(shí)現(xiàn)文件讀寫(xiě)”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Python如何實(shí)現(xiàn)文件讀寫(xiě)”這篇文章吧。
目前創(chuàng)新互聯(lián)建站已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、烏海網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。# python2 str unicode
# python3 bytes str
# python2
s = u'你好'
s.encode('utf8') #存儲(chǔ)到文件中的格式
f = open('hello.txt', 'w')
f.write(s.encode('utf8'))
f.close()
f = open('hello.txt', 'r')
t = f.read().decode('utf8') # 你好
f.close()
# python3 字符串就是unicode
strb = b'asdfasdfsdg'
s = '你好'
f = open('hello2.txt', 'wt', encoding='utf8') # 自動(dòng)完成編解碼
f.write(s)
f.close()
f = open('hello2.txt', 'rt', encoding='utf8')
s = f.read()
f.close()
# 處理二進(jìn)制文件 處理音頻文件,將音量調(diào)小保存
f = open('demo.wav', 'rb')
info = f.read(44) #文件頭
import struct
struct.unpack('h',info[22:24]) #處理文件頭 數(shù)據(jù)運(yùn)算
struct.unpack('i',infi[24:28])
f.seek(0,2)
f.tell()
n = (f.tell()-44) /2
import array
buf = array.array('h', (0 for _ in xrange(n)))
f.seek(44)
f.readinto(buf)
for i in xrange(n): buf[i] /= 8
f2 = open('demo2.wav', 'wb')
f2.write(info)
buf.tofile(f2)
f2.close()
# 使用臨時(shí)文件
# 自動(dòng)刪除,不占內(nèi)存
from tempfile import TemporaryFile, NamedTemporaryFile
f = TemporaryFile() # 系統(tǒng)文件系統(tǒng)找不到
f.write('abcddee'*100000)
f.seek(0)
f.read(100)
ntf = NamedTemporaryFile(delete=False) # 能找到文件,默認(rèn)關(guān)閉以后會(huì)刪除文件
fname = nft.name
# 設(shè)置文件的緩沖
# I/O 操作以塊為單位,如4096字節(jié)一個(gè)塊
f = open('test.txt', 'w', buffering=2048) # 全緩沖,要寫(xiě)滿(mǎn)緩沖才會(huì)寫(xiě)到文件中
f = open('test.txt', 'w', buffering=1) # 行緩沖,\n就會(huì)寫(xiě)文件
f = open('test.txt', 'w', buffering=1) # 無(wú)緩沖,實(shí)時(shí)寫(xiě)
f.write('abc')
# 將文件映射到內(nèi)存
import mmap
f = open('demo.bn','r+b')
f.fileno()
m = mmap.mmap(f.fileno(), 0, access=mmpa.ACCESS_WRITE, offset=mmap.PAGESIZE)
# 得到字節(jié)數(shù)組
m[4:8] = '\xff'*4 # 修改直接改變文件內(nèi)容
# 讀寫(xiě)csv數(shù)據(jù)
from urllib import urlretrieve
urlretrieve('http://table.finance.yahoo.com/table.csv?s=000001.sz', 'pingan.csv')
rf = open('pingan.csv', 'rb')
import csv
reader = csv.reader(rf)
header = reader.next()
wf = open('pingan_c.csv', 'wb')
writer = csv.writeer(wf)
writer.writerow(header)
rf.close()
wf.close()
# 讀寫(xiě)json數(shù)據(jù)
import requests
import json
from record import Record
record = Record(channel=1)
audioData = record.record(2)
from secret import API_KEY, SECRET_KEY
authUrl = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + API_KEY + "&client_secret=" +
SECRET_KEY
response = requests.get(authUrl)
res = json.loads(response.content)
token = res['access_token']
#百度語(yǔ)音識(shí)別
cuid = 'xxxxxxxxxxxxx'
srvUrl = 'http://vop.baidu.com/server_api?cuid=' + cuid + '&token=' + token
heepHeader = {'Content-Type': 'audio/wav; rate = 8000'}
response = requests.post(srvUrl, headers=httpHeader, data=audioData)
res = json.loads(response.content)
text = res['result'][0]
print text
# json.dumps() python對(duì)象(列表、字典等)轉(zhuǎn)換成json字符串
# json.dumps(data, sort_keys=True)
# json.loads() json字符串轉(zhuǎn)換成python對(duì)象
with open('demo.json', 'wb') as f:
json.dump(l, f) # 將l數(shù)據(jù)寫(xiě)到文件
# 構(gòu)建xml文檔
from xml.etree.ElementTree import parse
with open('demo.xml') with f:
et = parse(f)
root = et.getroot()
root.tag
root.attrib
root.text
#root.getchildren()
for child in root:
print child.get('name')
root.find('country')
root.findall('country') # 直接子元素
for e in root.iterfind('country'):
print e.get('name')
from xml.etree.ElementTree import Element, ElementTree, tostring
e = Element('Data')
e.set('name', 'abc')
e2 = Element('Row')
e3 = Element('Open')
e3.text = '8.80'
e2.append(e3)
e.append(e2)
tostring(e)
et = ElementTree(e)
et.write('demo.xml')
# 讀寫(xiě)excel文件
import xlrd, xlwt
book = xlrd.open_workbook('demo.xls')
book.sheets()
sheet = book.sheet_by_index(0)
rows = sheet.nrows
cols = sheet.ncols
cell = sheet.cell(0,0) #(0,0)單元格
cell.ctype
cell.value
row = sheet.row(1) #cell對(duì)象列表
data = sheet.row_values(1, 1) #第1列跳過(guò)第一格的值列表
sheet.put_cell(0, cols, xlrd.XL_CELL_TEXT, u'Total', None)
wbook = xlwt.Workbook()
wsheet = wbook.add_sheet('sheet1')
style = xlwt.easyxf('align: vertical center, horizontal center')
wsheet.write(rows,cols, sheet.cell_value(rows,cols), style)
wsheet.save('output.xls')
以上是“Python如何實(shí)現(xiàn)文件讀寫(xiě)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。