導航:首頁 > 編程語言 > python實現文件讀取

python實現文件讀取

發布時間:2022-07-29 12:25:12

python怎麼從一個文件中讀取訓練集

在讀取文件之前,我們先創建一個文本文件resource.txt作為源文件。

resource.txt

my name is joker,
I am 18 years old,
How about you?

如何讀取文件全部內容,我們編寫到reader.py文件中。

reader.py

1 with open('resource.txt') as file_obj:2 content = file_obj.read()3 print(content)4

需要注意的是需要將resource.txt文件與read.py 放在同一目錄下。

運行後的結果如下:

解釋:open函數接收一個參數,此參數為將被讀取內容的文件名,在調用之後返回表示這個文件的對象,Python將之存儲在後面的變數(file_obj)中,關鍵字 with 在我們不再需要使用文件的時候將其關閉。

上面的代碼中open() 函數中傳入的是一個相對路徑,相對路徑會從當前文件(reader.py)所在文件夾下查找指定文件(resource.txt),如果文件不在當前文件夾下,可以使用絕對路徑。Linux系統絕對路徑如:

/home/joker/dic這樣的,Windows系統的絕對路徑如:C:/pyhton_workspace/dic 這樣的。

② Python如何從文件讀取數據

1.1 讀取整個文件

要讀取文件,需要一個包含幾行文本的文件(文件PI_DESC.txt與file_reader.py在同一目錄下)

PI_DESC.txt

3.1415926535
8979323846
2643383279
5028841971

file_reader.py

with open("PI_DESC.txt") as file_object:
contents = file_object.read()
print(contents)

我們可以看出,讀取文件時,並沒有使用colse()方法,那麼未妥善的關閉文件,會不會導致文件收到損壞呢?在這里是不會的,因為我們在open()方法前邊引入了關鍵字with,該關鍵字的作用是:在不需要訪問文件後將其關閉

1.2文件路徑

程序在讀取文本文件的時候,如果不給定路徑,那麼它會先在當前目錄下進行檢索,有時候我們需要讀取其他文件夾中的路徑,例如:

③ 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()

④ python如何讀取文件的內容

# _*_ coding: utf-8 _*_

import pandas as pd

# 獲取文件的內容

def get_contends(path):

with open(path) as file_object:

contends = file_object.read()

return contends

# 將一行內容變成數組

def get_contends_arr(contends):

contends_arr_new = []

contends_arr = str(contends).split(']')

for i in range(len(contends_arr)):

if (contends_arr[i].__contains__('[')):

index = contends_arr[i].rfind('[')

temp_str = contends_arr[i][index + 1:]

if temp_str.__contains__('"'):

contends_arr_new.append(temp_str.replace('"', ''))

# print(index)

# print(contends_arr[i])

return contends_arr_new

if __name__ == '__main__':

path = 'event.txt'

contends = get_contends(path)

contends_arr = get_contends_arr(contends)

contents = []

for content in contends_arr:

contents.append(content.split(','))

df = pd.DataFrame(contents, columns=['shelf_code', 'robotid', 'event', 'time'])

(4)python實現文件讀取擴展閱讀:

python控制語句

1、if語句,當條件成立時運行語句塊。經常與else, elif(相當於else if) 配合使用。

2、for語句,遍歷列表、字元串、字典、集合等迭代器,依次處理迭代器中的每個元素。

3、while語句,當條件為真時,循環運行語句塊。

4、try語句,與except,finally配合使用處理在程序運行中出現的異常情況。

5、class語句,用於定義類型。

6、def語句,用於定義函數和類型的方法。

⑤ Python按行讀取文件的簡單實現方法

Python按行讀取文件的簡單實現方法
下面小編就為大家帶來一篇Python按行讀取文件的簡單實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。
1:readline()
file = open("sample.txt")
while 1:
line = file.readline()
if not line:
break
pass # do something
file.close()
一行一行得從文件讀數據,顯然比較慢;
不過很省內存;
測試讀10M的sample.txt文件,每秒大約讀32000行;
2:fileinput
import fileinput
for line in fileinput.input("sample.txt"):
pass
寫法簡單一些,不過測試以後發現每秒只能讀13000行數據,效率比上一種方法慢了兩倍多;
3:readlines()

file = open("sample.txt")
while 1:
lines = file.readlines(100000)
if not lines:
break
for line in lines:
pass # do something
file.close()
用同樣的數據測試,它每秒可以讀96900行數據!效率是第一種方法的3倍,第二種方法的7倍!
4:文件迭代器
每次只讀取和顯示一行,讀取大文件時應該這樣:
file = open("sample.txt")
for line in file:
pass # do something
file.close()
以上就是小編為大家帶來的Python按行讀取文件的簡單實現方法全部內容了

⑥ Python作業:讀取一個文件,列印文件第2行開始的所有的內容

摘要 Python 提供了如下 3 種函數,它們都可以幫我們實現讀取文件中數據的操作:

⑦ python中讀取csv文件

python中讀取csv方法有3種:
第一種,普通方法讀取(open函數打開,然後使用for循環讀取內容);
第二種,使用用CSV標准庫讀取;
第三種,用pandas模塊讀取。

⑧ python對文件的讀操作方法有哪些

摘要 1 文件讀取全文本操作

⑨ python讀取excel文件如何進行

python編程語言擁有著比較強大的excel讀寫能力,我們只需要安裝xlrd,xlwt這兩個庫就可以了。那麼python讀取excel文件如何進行,今天就為大家分享下python讀取excel文件的具體操作方法,快來了解下吧!

⑩ Python隨機讀取文件實現實例

Python隨機讀取文件實現實例
這篇文章主要介紹了Python隨機讀取文件的相關資料,需要的朋友可以參考下
Python隨機讀取文件
代碼如下
importosimportrandom rootdir="d:facetrain"file_names=[]forparent, dirnames, filenamesinos.walk(rootdir): #三個參數:分別返回1.父目錄 2.所有文件夾名字(不含路徑) 3.所有文件名字 file_names=filenames # for filename in filenames: #輸出文件信息 # print("parent is" + parent) # print("filename is:" + filename) # print("the full name of the file is:" + os.path.join(parent, filename))x=random.randint(0,len(file_names)-1)print(file_names[x])
注意
1.本代碼在Python3.5上測試通過
2.rootdir參數意為你要遍歷的那個文件夾的目錄,請根據自己的實際需要自行修改

閱讀全文

與python實現文件讀取相關的資料

熱點內容
量子加密銀行 瀏覽:191
命令方塊獲得指令手機 瀏覽:499
學習結束感言簡短程序員 瀏覽:398
android關機鬧鍾實現 瀏覽:968
滑鼠一鍵打開文件夾設置 瀏覽:161
程序員看過來我想靜靜搞笑視頻 瀏覽:370
curlphp爬蟲 瀏覽:874
python按日期循環 瀏覽:110
php三個等號 瀏覽:760
培訓班出來的程序員解決問題很差 瀏覽:963
程序員那麼可愛25集 瀏覽:753
伺服器地址和ip地址一樣不 瀏覽:664
php中括弧定義數組 瀏覽:602
php列印堆棧 瀏覽:516
華為adb命令行刷機 瀏覽:965
人像攝影pdf 瀏覽:761
解壓文件密碼怎樣重新設置手機 瀏覽:1002
高考指南pdf 瀏覽:695
爬蟲python數據存儲 瀏覽:240
u盤怎麼取消加密 瀏覽:431