如何載入和處理Python檔?
檔案載入及處理
1、檢查python
關於檔案載入及處理方式檔案路徑是否存在,如果不存在就建立此路徑。
#如果不存在路径,就创建一个这样的路径 if not os.path.exists(exp_path): os.mkdir(exp_path)
os.path.exists()
:判斷括號裡的檔案是否存在的意思,括號內的可以是檔案路徑.如果存在就回傳True ,不存在返回Falseos.mkdir()
:建立路徑
2、對資料夾下面的檔案名稱進行列表排列
file_list = os.listdir(dir_path)
3、過濾不符合要求的檔案
filter() 函數用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新清單
filter(function, iterable)
function
-- 判斷函數。iterable
-- 可迭代物件
def is_odd(n): return n % 2 == 1 newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print(newlist)
[1, 3, 5, 7, 9]
4、用於將元組轉換為列表
list()
^(* ̄(oo) ̄)^
#元組與列表是非常類似的,差別在於元組的元素值不能修改。
元組是放在括號中,列表是放於方括號中
5、開啟檔案codeces,open()
查閱資料後和實驗後,發現和open()的功能差不多,但在進行爬蟲或其他方式得到資料寫入檔案時會有編碼不統一的問題,所以就一般都統一轉換為Unicode編碼。
總之,用codeces,open()更便捷點。
6、readlines()
每次按行讀取整個檔案內容,將讀取的內容放到一個清單中,回傳list類型
7、 strip()
每次按行讀取整個檔案內容,將讀取的內容放到一個清單中,回傳list類型
python檔案處理(總結)
1、txt檔案
1.1 txt檔案讀取
with open("11.txt", 'r') as file: for l in file: idnos.append(l.replace('\n','')) f.close() # 关闭文件,这个可以是个好习惯哦
1.2 txt寫入不覆寫寫入
with open("d.txt", 'a',encoding='utf-8') as file: file.write('\n' + '摘要:' + gaiyao) file.write('\n') file.close()
1.3 個別檔案標籤的意義
存取模式 | 說明 |
---|---|
#r | 以唯讀方式開啟文件。文件的指針將會放在文件的開頭。這是預設模式。 |
w | 開啟一個檔案只用於寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,請建立新文件。 |
a | 開啟一個檔案用於追加。如果該檔案已存在,則檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,請建立新文件進行寫入。 |
rb | 以二進位格式開啟一個檔案用於唯讀。文件指針將會放在文件的開頭。這是預設模式。 |
wb | 以二進位格式開啟一個檔案只用於寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,請建立新文件。 |
ab | 以二進位格式開啟一個檔案用來追加。如果該檔案已存在,則檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,請建立新文件進行寫入。 |
r | 開啟一個檔案用來讀寫。文件指針將會放在文件的開頭。 |
w | 開啟一個檔案用來讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,請建立新文件。 |
a | 開啟一個檔案用於讀寫。如果該檔案已存在,則檔案指標將會放在檔案的結尾。文件開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。 |
rb | 以二進位格式開啟一個檔案用來讀寫。文件指針將會放在文件的開頭。 |
wb | 以二進位格式開啟一個檔案用來讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,請建立新文件。 |
ab | 以二進位格式開啟一個檔案用來追加。如果該檔案已存在,則檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。 |
1.4 逐行讀取txt中所有內容
#coding=utf-8 f = open('11.txt', 'r') content = f.readlines() print(type(content)) i=1 for temp in content: print("%d:%s" % (i, temp)) i += 1 f.close()
1.5 讀取txt中前兩行的內容
#coding=utf-8 f = open('11.txt', 'r') content = f.readline() print("1:%s" % content) content = f.readline() print("2:%s" % content) f.close()
1.6 文件拷貝
# 提示输入文件 oldFileName = input("请输入要拷贝的文件名字:") # 以读的方式打开文件 oldFile = open(oldFileName,'rb') # 提取文件的后缀 fileFlagNum = oldFileName.rfind('.') if fileFlagNum > 0: fileFlag = oldFileName[fileFlagNum:] # 组织新的文件名字 newFileName = oldFileName[:fileFlagNum] + '[复件]' + fileFlag # 创建新文件 newFile = open(newFileName, 'wb') # 把旧文件中的数据,一行一行的进行复制到新文件中 for lineContent in oldFile.readlines(): newFile.write(lineContent) # 关闭文件 oldFile.close() newFile.close()
1.7 檔案的相關操作
檔案重新命名
import os os.rename("毕业论文.txt", "毕业论文-最终版.txt")
刪除檔案
import os os.remove("毕业论文.txt")
建立資料夾
import os os.mkdir("张三")
取得目前目錄
import os os.getcwd()
改變預設目錄
import os os.chdir("../")
取得目錄清單
import os os.listdir("./")
刪除資料夾
import os os.rmdir("张三")
1.8 檔案管理-學生管理系統
註:先建立一個檔案:info_data.data
import time import os # 定一个列表,用来存储所有的学生信息(每个学生是一个字典) info_list = [] def print_menu(): print("---------------------------") print(" 学生管理系统 V1.0") print(" 1:添加学生") print(" 2:删除学生") print(" 3:修改学生") print(" 4:查询学生") print(" 5:显示所有学生") print(" 6:保存数据") print(" 7:退出系统") print("---------------------------") def add_new_info(): """添加学生信息""" global info_list new_name = input("请输入姓名:") new_tel = input("请输入手机号:") new_qq = input("请输入QQ:") for temp_info in info_list: if temp_info['name'] == new_name: print("此用户名已经被占用,请重新输入") return # 如果一个函数只有return就相当于让函数结束,没有返回值 # 定义一个字典,用来存储用户的学生信息(这是一个字典) info = {} # 向字典中添加数据 info["name"] = new_name info["tel"] = new_tel info["qq"] = new_qq # 向列表中添加这个字典 info_list.append(info) def del_info(): """删除学生信息""" global info_list del_num = int(input("请输入要删除的序号:")) if 0 <= del_num < len(info_list): del_flag = input("你确定要删除么?yes or no") if del_flag == "yes": del info_list[del_num] else: print("输入序号有误,请重新输入") def modify_info(): """修改学生信息""" global info_list modify_num = int(input("请输入要修改的序号:")) if 0 <= modify_num < len(info_list): print("你要修改的信息是:") print("name:%s, tel:%s, QQ:%s" % (info_list[modify_num]['name'], info_list[modify_num]['tel'],info_list[modify_num]['qq'])) info_list[modify_num]['name'] = input("请输入新的姓名:") info_list[modify_num]['tel'] = input("请输入新的手机号:") info_list[modify_num]['qq'] = input("请输入新QQ:") else: print("输入序号有误,请重新输入") def search_info(): """查询学生信息""" search_name = input("请输入要查询的学生姓名:") for temp_info in info_list: if temp_info['name'] == search_name: print("查询到的信息如下:") print("name:%s, tel:%s, QQ:%s" % (temp_info['name'], temp_info['tel'], temp_info['qq'])) break else: print("没有您要找的信息....") def print_all_info(): """遍历学生信息""" print("序号\t姓名\t\t手机号\t\tQQ") i = 0 for temp in info_list: # temp是一个字典 print("%d\t%s\t\t%s\t\t%s" % (i, temp['name'], temp['tel'], temp['qq'])) i += 1 def save_data(): """加载之前存储的数据""" f = open("info_data.data", "w") f.write(str(info_list)) f.close() def load_data(): """加载之前存储的数据""" global info_list f = open("info_data.data") content = f.read() info_list = eval(content) f.close() def main(): """用来控制整个流程""" # 加载数据(1次即可) load_data() while True: # 1. 打印功能 print_menu() # 2. 获取用户的选择 num = input("请输入要进行的操作(数字):") # 3. 根据用户选择,做相应的事情 if num == "1": # 添加学生 add_new_info() elif num == "2": # 删除学生 del_info() elif num == "3": # 修改学生 modify_info() elif num == "4": # 查询学生 search_info() elif num == "5": # 遍历所有的信息 print_all_info() elif num == "6": # 保存数据到文件中 save_data() elif num == "7": # 退出系统 exit_flag = input("亲,你确定要退出么?~~~~(>_<)~~~~(yes or no) ") if exit_flag == "yes": break else: print("输入有误,请重新输入......") input("\n\n\n按回车键继续....") os.system("clear") # 调用Linux命令clear完成清屏 # 程序的开始 main()
2、csv檔案操作
#2.1 csv寫入
with open('新1.csv', 'a', encoding='utf-8-sig', newline='') as f: csv_writer = csv.writer(f, delimiter=',') csv_writer.writerow( [str(name), str(zijin), str(guimo), str(jingli), str(phone1), str(phone2),str(chanpin)])
以上是如何載入和處理Python檔?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。
