1. python如何讀寫文本文件
1.open使用open打開文件後一定要記得調用文件對象的close()方法。比如可以用try/finally語句來確保最後能關閉文件。
file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
註:不能把open語句放在try塊里,因為當打開文件出現異常時,文件對象file_object無法執行close()方法。
2.讀文件讀文本文件input = open('data', 'r')
#第二個參數默認為r
input = open('data')
讀二進制文件input = open('data', 'rb')
讀取所有內容file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
讀固定位元組file_object = open('abinfile', 'rb')
try:
while True:
chunk = file_object.read(100)
if not chunk:
break
do_something_with(chunk)
finally:
file_object.close( )
讀每行list_of_all_the_lines = file_object.readlines( )
如果文件是文本文件,還可以直接遍歷文件對象獲取每行:
for line in file_object:
process line
3.寫文件寫文本文件output = open('data.txt', 'w')
寫二進制文件output = open('data.txt', 'wb')
追加寫文件output = open('data.txt', 'a')
output .write("\n都有是好人")
output .close( )
寫數據file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )
2. 用python讀取文本文件,對讀出的每一行進行操作,這個怎麼寫
用python讀取文本文件,對讀出的每一行進行操作,寫法如下:
f=open("test.txt","r")
whileTrue:
line=f.readline()
ifline:
pass#dosomethinghere
line=line.strip()
p=line.rfind('.')
filename=line[0:p]
print"create%s"%line
else:
break
f.close()
3. Python中的文件讀寫-理論知識
Python處理兩種不同類型的文件:二進制文件和文本文件。了解兩者之間的差異很重要,因為它們的處理方式不同。
二進制文件
在正常計算機使用期間使用的大多數文件實際上是二進制文件,而不是文本。比如:Microsoft Word .doc文件實際上是一個二進制文件,即使它只有文本。
二進制文件的其他示例包括:
圖像文件,包括.jpg,.png,.bmp,.gif,等。
資料庫文件包括.mdb,.frm和.sqlite
文件,包括.doc,.xls,.pdf或者其他文件。
那是因為這些文件都有特殊處理的要求,需要特定類型的軟體來打開它。例如,您需要Excel來打開.xls文件,並使用資料庫程序來打開.sqlite文件。
文本文件
一方面,沒有特定的編碼,可以通過沒有任何特殊處理的標准文本編輯器打開。但是,每個文本文件都必須遵守一組規則:
文本文件必須是可讀的。他們可以(並且經常會)包含許多特殊編碼,尤其是在HTML或其他標記語言中,但您仍然可以說出它的含義
文本文件中的數據按行組織。在大多數情況下,每一行都是一個獨特的元素,無論是指令行還是命令。
此外,文本文件在每行的末尾都有一個看不見的字元,這使文本編輯器知道應該有一個新行。通過編程與這些文件交互時,您可以利用該字元。在Python中,它用「 n」 表示。
在哪裡可以找到Python的文件I / O工具
在Python中工作時,您不必擔心導入任何特定的外部庫來處理文件。Python附帶有「文件庫」,文件I / O工具和實用程序是核心語言的內置部分。
但是在其他語言(如C ++)中,要處理文件,您必須通過包含正確的頭文件來啟用文件I / O工具#include <fstream>。如果您使用java編寫代碼,則需要使用該import java.io.*語句。
使用Python,就沒有必要這樣做,這是因為Python有一組內置函數,可以處理讀取和寫入文件所需的所有內容。
4. 怎麼讀取整個文件 python
Python 讀寫文本文件
首先需要注意的是,txt文件是具有字元編碼的,不同的txt字元編碼可能不同。具體是什麼編碼,可以用 notepad++ 等文本編輯器查看。
讀取文件建議使用 with...as... 結構,可以自動關閉文件。
with open("text.txt", "r") as f:
text = f.read()
print(text)
如果不用 with...as... 則必須手動關閉文件:
f = open("text.txt", "r")
text = f.read()
f.close()
print(text)
如果讀取的文件含有中文,使用內置的open可能會報錯,這個時候要用到codecs模塊:
import codecs
with codecs.open("text.txt", "r", encoding="utf-8") as f:
text = f.read()
print(text)
(假設 text.txt 是 utf-8 編碼)
5. python文件讀寫
這兩個問題都是由於最後一句使用了to_excel導致的,改成to_csv即可
另外,to_csv可以生成csv或者xls文件。
改成:data.to_csv(cleanedfile,sep="\t", encoding="utf-8")
6. python對文本文件的讀有哪些方法,寫有哪些方法
1 文件讀取全文本操作
在一定場景下我們需要把文本全部內容讀取出來,進行處理。python提供三種函數讀取文件,分別是read readline readlines,
read():讀取文件的全部內容,加上參數可以指定讀取的字元。
readline():讀取文件的一行。
readlines():讀取文件的所有行到內存中。
不同場景下我們可以選擇不同函數對文件進行讀取。
1.1 方法一
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")
txt=file.read()
# 全文本的處理
file.close()
使用read函數將文件中的內容全部讀取,放在字元串變數txt中。這樣操作適合於文本較小,處理簡單的情況,當文件較大時,這種方式處理時不合適的。一次性讀取較大的文件到內存中,會耗費較多的時間和資源。這時候分批處理效果更好。
1.2 方法二
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")
txt= file.read(4)
# 文本的處理while txt != ""txt= file.read(4)
# 批量文本處理
file.close()
這種方法適合於分批處理文本信息,每次批量讀入,批量處理,不會對內存造成較大的壓力。
1.3 方法三
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")for line infile.readlines():
# 處理每一行數據
file.close()
這種處理方式適合處理以行為分割特點的文本,並且文本較小,因為這種處理方式需要一次性把文件所有內容讀取到內存中。
1.4 方法四
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r") # 這里的file時文件句柄for line infile:
# 處理每一行數據
file.close()
這種方式和方法三中的區別是分行讀入,逐行處理,不會一次性把文件所有內容都讀入到內存中,對一些大文件的處理是很有效的。
2 文件寫入文本操作
文件寫入有兩種寫入函數和一種輔助支持。
write():向文件中寫入一個字元或者位元組流
writelines():將一個元素全為字元串的列表寫入到文件中 需要注意的是,writelines寫入列表元素的時候會把列表元素的內容拼接到一起寫入,不會有換行和空格 。
seek(): 輔助寫入函數offset偏移量參數代表含義如下
0 - 文件開頭
1 - 當前位置
2 - 文件結尾
2.1 方法一
file_name = input("output.txt", "w+")
text= "hello world!"file_name.write(text)
file.close()
2.2 方法二
file_name = input("output.txt", "w+")
list= ["中午","早上","晚上"]
file_name.writelines(list)for line infile:
# 讀取寫入的數據,這時候發現是沒有任何內容的
file.close()
我們增加一行代碼就可以讀取到寫入的文件內容,利用seek()函數調整寫操作指針的位置,可以實現寫操作之後的正常讀取。
file_name = input("output.txt", "w+")
list= ["中午","早上","晚上"]
file_name.readlines(list)
file_name.seek(0) # 調整寫的指針到文件的開始位置for line infile:
# 讀取寫入的數據,這時候會讀出一行寫入的數據。
file.close()
7. python文件讀入,該怎麼解決
python讀取文件內容的方法:
最方便的方法是一次性讀取文件中的所有內容並放置到一個大字元串中:
all_the_text = open('thefile.txt').read( )
# 文本文件中的所有文本
all_the_data = open('abinfile','rb').read( )
# 二進制文件中的所有數據
8. python怎麼讀寫excel文件
最近用python處理一個小項目,其中涉及到對excel的讀寫操作,通過查資料及實踐做了一下總結,以便以後用。
python讀寫excel文件要用到兩個庫:xlrd和xlwt,首先下載安裝這兩個庫。
1、#讀取Excel
importxlrd
data = xlrd.open_workbook(excelFile)
table = data.sheets()[0]
nrows = table.nrows #行數
ncols = table.ncols #列數
for i in xrange(0,nrows):
rowValues= table.row_values(i) #某一行數據
for item in rowValues:
printitem
2、寫Excel文件
'''往EXCEl單元格寫內容,每次寫一行sheet:頁簽名稱;row:行內容列表;rowIndex:行索引;
isBold:true:粗欄位,false:普通字體'''
defWriteSheetRow(sheet,rowValueList,rowIndex,isBold):
i = 0
style = xlwt.easyxf('font: bold 1')
#style = xlwt.easyxf('font: bold 0, color red;')#紅色字體
#style2 = xlwt.easyxf('pattern: pattern solid, fore_colour yellow; font: bold on;') # 設置Excel單元格的背景色為黃色,字體為粗體
forsvalue inrowValueList:
strValue = unicode(str(svalue),'utf-8')
ifisBold:
sheet.write(rowIndex,i,strValue,style)
else:
sheet.write(rowIndex,i,strValue)
i = i + 1
'''寫excel文件'''
defsave_Excel(strFile):
excelFile = unicode(strFile,"utf8")
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet1',cell_overwrite_ok=True)
headList = ['標題1','標題2','標題3','標題4','總計']
rowIndex = 0
WriteSheetRow(sheet,headList,rowIndex,True)
fori inxrange(1,11):
rowIndex = rowIndex + 1
valueList = []
forj inxrange(1,5):
valueList.append(j*i)
WriteSheetRow(sheet,valueList,rowIndex,False)
wbk.save(excelFile)
style2 = xlwt.easyxf('pattern: pattern solid, fore_colour yellow; font: bold on;')
在設置上Excel單元格的背景色時,fore_colour支持的顏色是有限的,僅支持一下顏色
aqua 0x31
black 0x08
blue 0x0C
blue_gray 0x36
bright_green 0x0B
brown 0x3C
coral 0x1D
cyan_ega 0x0F
dark_blue 0x12
dark_blue_ega 0x12
dark_green 0x3A
dark_green_ega 0x11
dark_purple 0x1C
dark_red 0x10
dark_red_ega 0x10
dark_teal 0x38
dark_yellow 0x13
gold 0x33
gray_ega 0x17
gray25 0x16
gray40 0x37
gray50 0x17
gray80 0x3F
green 0x11
ice_blue 0x1F
indigo 0x3E
ivory 0x1A
lavender 0x2E
light_blue 0x30
light_green 0x2A
light_orange 0x34
light_turquoise 0x29
light_yellow 0x2B
lime 0x32
magenta_ega 0x0E
ocean_blue 0x1E
olive_ega 0x13
olive_green 0x3B
orange 0x35
pale_blue 0x2C
periwinkle 0x18
pink 0x0E
plum 0x3D
purple_ega 0x14
red 0x0A
rose 0x2D
sea_green 0x39
silver_ega 0x16
sky_blue 0x28
tan 0x2F
teal 0x15
teal_ega 0x15
turquoise 0x0F
violet 0x14
white 0x09
yellow 0x0D"""
另外一種方式是 用pyExcelerator
9. python怎麼將本地一個文件夾的所有文本讀進內存中
列出文件,把各個文件打開讀到bytes位元組串裡面.
比如
f=open("a.txt","rb")
a={}
a["a.txt"]=f.read()
f=open("b.txt","rb") #寫成對列表的循環
a["b.txt"]=f.read()
f=open("c.txt","rb") #寫成對列表的循環
a["c.txt"]=f.read()
10. python 文件讀寫
不用這么麻煩,程序只要這么寫:
# filename: test.py
import tkinter
help(tkinter)
然後在命令行窗口下執行:
D:\work\Python30>python test.py > tkinter_doc.txt
就可以了。
你出錯的原因是help沒有返回值。