本文目錄一覽:
- 1、python如何讀取文件的內容
- 2、Python3 & 如何在Python中寫文件路徑
- 3、Python如何從文件讀取數據
- 4、如何用python刪除一個文件
- 5、python怎麼從一個文件中讀取訓練集
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’])
擴展資料:
python控制語句
1、if語句,當條件成立時運行語句塊。經常與else, elif(相當於else if) 配合使用。
2、for語句,遍歷列表、字符串、字典、集合等迭代器,依次處理迭代器中的每個元素。
3、while語句,當條件為真時,循環運行語句塊。
4、try語句,與except,finally配合使用處理在程序運行中出現的異常情況。
5、class語句,用於定義類型。
6、def語句,用於定義函數和類型的方法。
Python3 & 如何在Python中寫文件路徑
Python中文件路徑共分為兩種:絕對路徑和相對路徑
1、絕對路徑就是文件的真正存在的路徑,是指從硬盤的根目錄(盤符)開始,進行一級級目錄指向文件。
2、 相對路徑是以當前文件為基準進行一級級目錄指向被引用的資源文件。
其中大小寫不影響windows定位到文件
python 文件路徑書寫方式有兩種:
方法一:使用轉義字符
filePath = ‘E:\Temp\test’
方法二:使用r聲明字符串
filePath = r’E:\Temp\test’
上述寫法中”\ “為字符串中的特殊字符,加上r後變為原始字符串,則不會對字符串中的”\t”、”\r” 進行字符串轉義。
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文件路徑
程序在讀取文本文件的時候,如果不給定路徑,那麼它會先在當前目錄下進行檢索,有時候我們需要讀取其他文件夾中的路徑,例如:
現在文件PI_DESC.txt存儲在python目錄的子文件夾txt中
那麼我們讀取文本內容的代碼得修改為:
with open(“txt\PI_DESC.txt”) as file_object:
contents = file_object.read()
print(contents)
給open參數傳遞的參數得給相對路徑
在Windows中,使用反斜杠(\),但是由於python中,反斜杠被視為轉義字符,在Windows最好在路徑開頭的單(雙)引號前加上r
相對路徑:即相對於程序文件的路徑
絕對路徑:即文本在硬盤上存儲的路徑
使用絕對路徑的程序怎麼寫呢 ?
with open(r”D:\python\txt\PI_DESC.txt”) as file_object:
contents = file_object.read()
print(contents)
1.3逐行讀取
讀取文件時,可能需要讀取文件中的每一行,要以每一行的方式來檢查文件或者修改文件,那麼可以對文件對象使用for循環
file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:
for line in file_object:
print(line)
程序運行結果如下:
通過運行結果我們可以看出,打印結果中間有很多空白行,這些空白行是怎麼來的呢?因為在這個文件中,每行的末尾都有一個看不見的換行符,而print語句也會加一個換行符,因此每行末尾就有2個換行符:一個來自文件,另外一個來自print,消除這些換行符,只需要使用方法rstrip()
file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:
for line in file_object:
print(line.rstrip())
打印結果
通過運行結果我們可以看出,打印結果中間有很多空白行,這些空白行是怎麼來的呢?因為在這個文件中,每行的末尾都有一個看不見的換行符,而print語句也會加一個換行符,因此每行末尾就有2個換行符:一個來自文件,另外一個來自print,消除這些換行符,只需要使用方法rstrip()
file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:
for line in file_object:
print(line.rstrip())
打印結果
1.4創建一個包含文件各行內容的列表
使用關鍵字with時,open()返回的文件對象只能在with代碼塊可用,如果要在with代碼塊外訪問文件的內容,可在with塊中將文件各行存儲在一個列表,並在with代碼塊外使用該列表
file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:
lines = file_object.readlines()for line in lines:
print(line.rstrip())
1.5使用文件的內容
在上面一節中我們提到把數據提取到內存中,那麼我們就可以對數據進行隨心所欲的操作了
需要:將圓周率連在一起打印出來(刪除空格),並打印其長度
file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:
lines = file_object.readlines()pi_str = ”for line in lines:
pi_str += line.strip()print(pi_str.rstrip())print(len(pi_str.rstrip()))
file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:
lines = file_object.readlines()pi_str = ”for line in lines:
pi_str += line.strip()print(pi_str.rstrip())print(len(pi_str.rstrip()))
注意最後print語句並沒有縮進,如果是縮進的話就會每取一行打印一次
打印效果如下
如何用python刪除一個文件
使用Python刪除文件有多種方法,但是最好的方法如下:
os.remove()刪除文件
os.unlink()刪除文件
shutil.rmtree()刪除目錄及其下面所有內容
pathlib.Path.unlink()在Python3.4及更高版本中用來刪除單個文件pathlib模塊。
os.remove()刪除文件
Python中的OS模塊提供了與操作系統進行交互的功能。OS屬於Python的標準實用程序模塊。該模塊提供了使用依賴於操作系統的功能的便捷式方法。
python中的os.remove()方法用於刪除文件路徑。此方法無法刪除目錄。如果指定的路徑是目錄,則該方法將引發OSError。
注意:可以使用os.rmdir()刪除目錄。
使用os.unlink()刪除Python文件
os.unlink()是os.remove()的別名。在Unix OS中,刪除也稱為unlink。
注意:所有功能和語法與os.unlink()和os.remove()相同。它們都用於刪除Python文件路徑。兩者都是Python標準庫的os模塊中執行刪除功能的方法。
它有兩個名稱,別名:os.unlink()和os.remove()。
為同一個函數提供兩個別名的可能原因是,該模塊的維護者認為,許多程序員可能會從C的底層編輯轉向Python,其中庫函數和底層系統調用稱為unlink(),而其他人則可能會使用rm命令或shell腳本來簡化語言。
使用shutil.rmtree()刪除Python文件
shutil.rmtree():刪除指定的目錄,所有子目錄和所有文件。此功能特別危險,因為它無需檢查即可刪除所有內容。結果,您可以使用此功能輕鬆丟失數據。
rmtree()是shutil模塊下的一種方法,該方法以遞歸方式刪除目錄及其內容。
使用pathlib.Path.unlink()刪除文件
pathlib模塊在Python3.4及更高版本中可用。如果要在Python2中使用此模塊,可以使用pip進行安裝。pathlib提供了一個面向對象的界面,用於處理不同操作系統的文件系統路徑。
要使用pathlib模塊刪除文件,請創建一個指向該文件的Path對象,然後對該對象調用unlink()方法。
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 這樣的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/276009.html