1. 程式人生 > >Python中的file(下)

Python中的file(下)

首先,看下file有哪些方法,比較常用的用紅色標標註出來。

f = codecs.open('3.txt', 'wb')
print(dir(f))
['__class__', '__delattr__', '__doc__', '__enter__', '__exit__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'close', 'closed', 'encoding', 'errors', 'fileno', 'flush'
, 'isatty', 'mode', 'name', 'newlines', 'next', 'read', 'readinto', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines', 'xreadlines']

1、flush() 方法是用來重新整理緩衝區的,即將緩衝區中的資料立刻寫入檔案,同時清空緩衝區,不需要是被動的等待輸出緩衝區寫入。一般情況下,檔案關閉後會自動重新整理緩衝區,但有時你需要在關閉前重新整理它,這時就可以使用 flush() 方法。

file
= open('4.txt','wb') file.write('abc') file.flush() file.close()

2、name返回檔案的名稱。

file = open('4.txt','wb')
file.write('abc')
file.flush()
file.close()
print '檔名為: ',file.name

3、write,writelines , readlines,readline,next 這三個結合著說

write()方法可以將任何字串寫入一個開啟的檔案。該方法不會在字串的結尾新增換行符(“\n”)

writelines()

作用: 用於向檔案中寫入一序列的字串。這一序列字串可以是迭代物件產生的,如字串列表。換行需制定換行符\n

file = codecs.open('4.txt','wb')
file.write('aaaa\n')
file.writelines(['1111\n','2222\n','3333\n','4444\n'])
file.close()
aaaa
1111
2222
3333
4444

readlines()作用:用於讀取所以行(直到結束符EOF),並返回列表。該列表可由for 語句處理。讀取檔案內容,檔案內容的每一行都是一個字串,最後返回一個list。

file = codecs.open('4.txt','rb')
print (file.readlines())
file.close()
['aaaa\n', '1111\n', '2222\n', '3333\n', '4444\n']

readline()作用:用於從檔案中讀取一行,返回一個字串。包括“\n”.如果指定了一個非負數的引數,則返回指定大小的位元組數,包括 "\n" 字元。

file = codecs.open('4.txt','rb')
print (file.readline())
file.close()
aaaa

next()作用:讀取檔案的下一行內容,返回一個字串。

file = codecs.open('4.txt','rb')
print (file.readline())
print (file.next())
print (file.next())
file.close()
aaaa
1111
2222

4、tell()方法返回檔案的當前位置,即檔案指標當前位置。

file = codecs.open('4.txt','rb')
print (file.readlines())
print (file.tell())
file.close()
['aaaa\n', '1111\n', '2222\n', '3333\n', '4444\n']
25

5、file的with用法


http://python.jobbole.com/82494/  這篇文章寫的很棒。

with codecs.open('4.txt','rb')  as file:
    print(file.readlines())
['aaaa\n', '1111\n', '2222\n', '3333\n', '4444\n']
with codecs.open('4.txt','rb')  as file: 
file = codecs.open('4.txt','rb')

表述的意思是一樣的,只是with不需要在結尾close()


相關推薦

Pythonfile

首先,看下file有哪些方法,比較常用的用紅色標標註出來。 f = codecs.open('3.txt', 'wb') print(dir(f)) ['__class__', '__delattr__', '__doc__', '__enter__', '__exit_

Pythonpackage的調用方式

inf none 普通 bfd 是否 open usr -a pack                      Python中包(package)的調用方式                                           作者:尹正傑 版權聲明:原創

批量下載網站圖片的Python小工具

深度 amp ted 講解 ati online 工作 rul 進程池 引子 在 批量下載網站圖片的Python實用小工具 一文中,講解了開發一個Python小工具來實現網站圖片的並發批量拉取。不過那個工具僅限於特定網站的特定規則,本文將基於其代碼實現,開發一個更加通用的圖

pythonlist列表、元組和array的區別-分別什麼時候使用?

list是列表,list中的元素的資料型別可以不一樣。array是陣列,陣列中的元素的資料型別必須一樣 Python中的列表(list)類似於C#中的可變陣列(ArrayList),用於順序儲存結構。它可以方便、高效的的新增刪除元素,並且列表中的元素可以是多種型別。列表很多操作都跟元組一

python zip*iterables函式的使用

1.zip()函式的定義 從引數中的多個迭代器取元素組合一個新的迭代器 返回:一個zip物件,其內部元素為元組,可以轉化為列表或者元組 傳入引數:元組、列表、字典等迭代器 2.zip()函式的使用 僅僅有一個引數時,從迭代器中依次取一個元組,組成元組。>>

Python從零開始系列連載22——Python檔案操作

檔案寫入 之前講過了檔案開啟建立和關閉,我們接著來談談檔案寫入 之前我們說了使用open()加上檔案的絕對路徑或者相對路徑可以開啟檔案 這裡我們講一個更簡單的方法 我們匯入os模組 os模組是和作業系統相關的模組 在Python中這樣操作:

python字串str的操作

s = 'hello' # 字串的重疊 s = 'hello' * 2 # 字串的拼接 s = 'hello' + 'world' print(s) # 統計字元個數 print(len(s)) # 提取單個字元,通過下表提取 # 從開頭提取,下表從0開始 print(s[

Python & Numpy 教程

Numpy Numpy是Python科學計算的核心庫。它提供了高效能多維陣列物件,以及使用這些陣列的工具。如果你已經熟悉MATLAB,你可以找到這個教程來開始使用Numpy。 Arrays 一個numpy的陣列(array)是一個由相同型別數值構成的網路(gri

windows安裝boost,python安裝dlib

接下來要執行dlib/python_examples裡面的face_landmark_detection.py. 1、face_landmark_detection.py需要兩個引數,“模型路徑”和“圖片目錄路徑”。 2、直接在cmd中執行的話,會出現報錯:

2018年GitHub上最流行50大Python開源專案

近日開源眾包平臺IssueHunt(這是一個開源專案的賞金平臺)評選出了2018年GitHub上最流行的50個Python開源專案,上次我們盤點了前面25個專案:《2018年GitHub上最流行50大Python開源專案(上)》   下面我們一起來看看上榜的專案都有哪些: &n

opencv-python boundingRectcnt以及cv2.rectangle用法

矩形邊框(Bounding Rectangle)是說,用一個最小的矩形,把找到的形狀包起來。還有一個帶旋轉的矩形,面積會更小,效果見下圖 上程式碼 首先介紹下cv2.boundingRect(img)這個函式 這個函式很簡單,img是一個二值圖,也就是它的引數;

對於Python切片slice的理解

def split(self, sep=None, maxsplit=-1): # real signature unknown; restored from __doc__ """ S.split(sep=None, maxsplit=-1) -> l

Python切片Slicing的運用:運算子

總結: 1,對切片賦值,相當於替代原list中的切片部分,賦值的list不必與切片長度一致,也可以將切片賦值給新的變數,用以取原list中的一部分; 2,list中的元素在切片中可以用正數索引或負數索引表示,正向索引為0,1,2……,第一個元素索引為0;負向索引-1,-2,

python list列表,tupe(元組),str字串,dict(字典)之間的相互轉換

1、字典(dict)dict = {‘name’: ‘Zara’, ‘age’: 7, ‘class’: ‘First’}1.1 字典——字串返回:print type(str(dict)), str(dict)11.2 字典——元組返回:(‘age’, ‘name’, ‘c

python列表list的基本操作

列表 建立和訪問列表 bicycle = ['trek', 'cannondale', 'redline','specialized'] print bicycle print bicycl

字符、字符集、編碼,以及它們python會遇到的一些問題

區別 做了 and 內部 eve nbsp nes 文字 相對 在看了很多的博客文章之後,總結整理得到了以下文章,非常感謝這些無私奉獻的博主! 文章末尾有本文引用的文章的鏈接,如果有漏掉的文章引用,可以發郵件聯系我,隨後再次附上鏈接! 侵刪!!! 這一部分是下篇,主要

第二章 python重要的數據結構

alt 檢查 testin and 淺復制 .py remove arr cti 二、元組(tuple):不可變序列  跟list一樣,也是一種序列,唯一不同的是,元組元素不能被修改,通常用(, ,)表示元組,也可以不加括號。 1 #創建元組 2 >>&

VR技術在數據中心3D機房的應用

chrome 結合 帶來 基礎 player 設計 然而 體驗 strong VR技術在數據中心3D機房中的應用 (下) 前面給大家簡單科普了一下VR的硬件設備以及VR在各個領域的應用,是不是覺得非常高大上?千言萬語概括成一句話,VR能給用戶帶來前所未有的沈浸感和交

在VMware Workstation批量創建上千臺虛擬機

workstation 創建虛擬機 vmrun 2 快速克隆100臺Workstation虛擬機方法在上一節的內容中,無論是創建"完全克隆"的虛擬機還是"克隆鏈接"的虛擬機,都是在VMware Workstation的圖形界面中以向導的方式創建的,每次創建一個虛擬機都需要多個步驟才能完成。在創建的

Python學習 八大排序算法的實現

ram tty adjust 二叉樹 turn bre python 使用 元素 本文Python實現了插入排序、基數排序、希爾排序、冒泡排序、高速排序、直接選擇排序、堆排序、歸並排序的後面四種。 上篇:Python學習(三) 八大排序算法的實現(上)