創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

這篇文章給大家分享的是有關Python從文件中讀取數據的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
從文件中讀取數據
1. 讀取整個文件
要讀取文件,首先來創建一個文件:
然后打開并讀取這個文件,再將其內容顯示到屏幕上:
file_reader.py
with open('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents)解讀上述代碼:
open( ) -> 要以任何方式使用文件,都首先得打開文件,這樣才能訪問它,此時就需要用到函數open(),該函數只接受一個參數:要打開文件的名稱,同時返回表示文件的對象。
with: 不再需要訪問文件后調用 close( ) 將其關閉。
read( ) ->讀取文件中的全部內容。
運行結果:
3.1415926535 8979323946 2643383278
2. 文件路徑
要讓python打開不與程序文件位于同一目錄中的文件,需要提供文件路徑,讓python到系統的特定位置去查找。
文件路徑的表示:
1. 相對路徑 -> 文件相對于當前運行程序所在的目錄。eg. 在程序所在文件夾C:\Users\yxf\Desktop\python_pycharm新建一個文件夾text_file用于存儲文件pi_digits.txt,此時就需要這樣編寫代碼:
with open('text_files\pi_digits.txt') as file_object:2. 絕對文件路徑 -> 文件所在完整路徑。絕對路徑比相對路徑更長,故可將路徑存儲在一個變量中,再將變量傳遞給 open( ):
file_path = r'C:\Users\yxf\Desktop\python_pycharm\text_files\pi_digits.txt' with open(file_path) as file_object:
由于文件路徑中使用的是反斜杠,在python中被視為轉義字符,故需要在開頭的單引號前加上r。
3. 逐行讀取
每次以一行的方式檢查文件:
file_name = 'pi_digits.txt' with open(file_name) as file_object: for line in file_object: print(line)
運行結果:
3.1415926535 8979323946 2643383278
通過對文件對象使用for循環來遍歷文件中的每一行,但運行結果顯示的每一行后邊多了空白行,這是為什么呢?文件中每行的末尾都有一個看不見的換行符,而print語句也會加上一個換行符。為消除這些空白行,可在print語句中使用 rstrip( ):
print(line.rstrip())
這樣輸出與文件內容就完全相同了。
4. 創建一個包含文件各行內容的列表
file_name = 'pi_digits.txt' with open(file_name) as file_object: lines = file_object.readlines() for line in lines: print(line.rstrip())
方法readlines():從文件中讀取每一行,并將其存儲在列表中。
5. 使用文件的內容
file_name = 'pi_digits.txt' with open(file_name) as file_object: lines = file_object.readlines() # 將文件內容存儲在列表中 pi_string = '' # 新建一個空字符串 for line in lines: pi_string = pi_string + line.rstrip() # 刪除空白行并轉換為字符串 print(pi_string) # 打印字符串 print(len(pi_string)) # 打印字符串長度
運行結果:
3.1415926535 8979323946 2643383278 36
運行結果中包含了位于每行左邊的空格,為刪除這些空格,可使用 strip() 而不是 rstrip(),運行可得:
3.141592653589793239462643383278 32
6. 包含一百萬位的大型數據
一百萬位的文件下載過慢,就復制使用了其中的一小部分,并打印到小數點后的50位:
file_name = 'pi_xx_digits.txt' with open(file_name) as file_object: lines = file_object.readlines() # 將文件內容存儲在列表中 pi_string = '' # 新建一個空字符串 for line in lines: pi_string = pi_string + line.strip() # 刪除空白行并轉換為字符串 print(pi_string[: 52]) # 打印字符串 print(len(pi_string)) # 打印字符串長度
運行結果:
3.14159265358979323846264338327950288419716939937510 1483
由運行結果可知保存了小數點后的1481位在文件 pi_xx_digits.txt 中。
7. 圓周率中包含你的生日嗎
可以檢測圓周率值的前1483位中是否包含自己的生日:
file_name = 'pi_xx_digits.txt'
with open(file_name) as file_object:
lines = file_object.readlines()
pi_string = ''
for line in lines:
pi_string = pi_string + line.strip()
birthday = input('Enter your birthday, in the form mmddyy: ')
if birthday in pi_string:
print('Your birthday appears in the first 1483 digits of pi!')
else:
print('Your birthday does not appears in the first 1483 digits of pi.')感謝各位的閱讀!關于Python從文件中讀取數據的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
分享題目:Python從文件中讀取數據的方法-創新互聯
文章路徑:http://www.js-pz168.com/article19/ccohdh.html
成都網站建設公司_創新互聯,為您提供靜態網站、自適應網站、網站營銷、響應式網站、網站改版、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯