SlideShare a Scribd company logo
09:檔案處理
2018.1.31
財團法人中華民國電腦技能基金會 策劃 逢甲大學 林英志 老師 編著
主題
• 開啟檔案
• 檔案操作
• 目錄管理
2
絕對路徑
(absolute path)
相對路徑
(relative path)
三部曲
• 檔案操作的三部曲為:
• 開啟 (open())
• 讀取(read)與寫入(write)
• 關閉 (close())
4
開啟檔案
• Python 內建的 open() 可以開啟檔案,語法如下:
• open(filename [, mode] [, encode] )
• filename
• 讀寫的檔案名稱,它是字串型態,可以是相對或絕對路徑
• 如果沒有設定路徑,則會預設為目前執行程式的目錄
5
開啟檔案
• Python 內建的 open() 可以開啟檔案,語法如下:
• open(filename [, mode] [, encode] )
• mode
• 設定檔案開啟的模式(r, w, a),也是字串型態
• 省略 mode 參數,將預設為讀取模式
6
範例
7
範例
8
偷懶一下
9
開啟檔案
• Python 內建的 open() 可以開啟特定檔案,語法如下:
• open(filename [, mode] [, encode] )
• encode
• 指定檔案的編碼模式,一般可設定 cp950 或 UTF-8
• 預設的編碼依作業系統而定,正體中文 Windows 系統預設的編
碼是 cp950,也就是記事本儲存為 ANSI 的編碼。
10
檔案編碼 – UTF-8
• 國際間通行的編碼以
及許多 Linux 系統,
預設都是使用 UTF-8
編碼,因此建議將檔
案另存為 UTF-8 (不要
使用 ANSI)。
11
檔案編碼 – UTF-8
• 如果檔案編碼已更改為 UTF-8,則讀取時就必須明確指
定編碼為 UTF-8,否則會出現錯誤。
• f = open(“file1.txt”, ‘r’, encoding=“UTF-8”)
• f = open(“file1.txt”, ‘r’, encoding=“utf-8”)
• UTF-8 = 8-bit Unicode Transformation Format
12
主題
• 開啟檔案
• 檔案操作
• 目錄管理
13
處理檔案
常用方法
read()
• read() 會從目前檔案指標的位置,讀取指定長度的字元
• 如果未指定長度則會讀取所有的字元
15
readline()
• 讀取目前檔案指標所在行中 size 長度的文字內容
• 若省略參數,則會讀取一整列,包括 “n” 字元
16
readlines()
• 讀取全部檔案內容,並以串列方式傳回
• 檔案內的每一列會成為串列中的一個元素
17
注意
• 讀取 UTF-8 編碼的 file2.txt 檔案內容
18
BOM (Byte Order Mark)
• 串列內容的第一筆資料前面多了一個「ufeff」字元,這
個字元是文件前端代碼,俗稱 BOM。
• 它是在中文 Windows 系統中,用「記事本」將檔案儲存為
UTF-8 時自動產生。
• BOM 會佔 1 個字元,因此第 7 列執行的結果只看到「123 中」
這 4 個字元,因為第一個字元 BOM 未顯示出來。
19
UTF-8-SIG
• 另一種處理方式就是讀取有 BOM 的文件檔時,明確地加
上 「encoding = ‘UTF-8-SIG’」將 BOM 去除。
20
密技
21
主題
• 開啟檔案
• 檔案操作
• 目錄管理
22
import os
• os 提供建立目錄、刪除目錄、刪除檔案、執行作業系統
命令等方法
• 使用時要匯入 os 套件
• remove()
• 刪除指定的檔案,一般會配合 os.path 的 exists() 方法,先檢
查該檔案是否存在,再決定是否要刪除檔案。
23
os.mkdir(), os.rmdir()
• mkdir() 方法可以建立指定的目錄
• rmdir() 方法可以刪除指定的目錄
• 刪除目錄前必須先刪除該目錄的檔案
24
os.system()
• 執行作業系統命令
25
os.path
26
TQC+ 程式語言 Python 09:檔案處理
os.walk
28
PY3-0002
九、資料計算
29
本章結束
Ad

More Related Content

What's hot (20)

Datatypes in python
Datatypes in pythonDatatypes in python
Datatypes in python
eShikshak
 
Python Data-Types
Python Data-TypesPython Data-Types
Python Data-Types
Akhil Kaushik
 
C cons
C consC cons
C cons
Onon Tuul
 
U.cs101 алгоритм программчлал-12
U.cs101   алгоритм программчлал-12U.cs101   алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
Badral Khurelbaatar
 
String
StringString
String
Kishan Gohel
 
Strings in c
Strings in cStrings in c
Strings in c
vampugani
 
Programming in c Arrays
Programming in c ArraysProgramming in c Arrays
Programming in c Arrays
janani thirupathi
 
Structure in C language
Structure in C languageStructure in C language
Structure in C language
CGC Technical campus,Mohali
 
外国語教育研究におけるRを用いた統計処理入門
外国語教育研究におけるRを用いた統計処理入門外国語教育研究におけるRを用いた統計処理入門
外国語教育研究におけるRを用いた統計処理入門
Yusaku Kawaguchi
 
Unions in c
Unions in cUnions in c
Unions in c
Prabhu Govind
 
Structure in c
Structure in cStructure in c
Structure in c
baabtra.com - No. 1 supplier of quality freshers
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
natrium11321
 
Array in C
Array in CArray in C
Array in C
Kamal Acharya
 
Python Basics
Python Basics Python Basics
Python Basics
Adheetha O. V
 
Array Of Pointers
Array Of PointersArray Of Pointers
Array Of Pointers
Sharad Dubey
 
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdfMANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdf
SowmyaJyothi3
 
網路問卷、SPSS分析與聯合分析實作-三星統計夏恩顧問
網路問卷、SPSS分析與聯合分析實作-三星統計夏恩顧問網路問卷、SPSS分析與聯合分析實作-三星統計夏恩顧問
網路問卷、SPSS分析與聯合分析實作-三星統計夏恩顧問
Beckett Hsieh
 
卡方考驗
卡方考驗卡方考驗
卡方考驗
guest04f780
 

Similar to TQC+ 程式語言 Python 09:檔案處理 (9)

8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
Justin Lin
 
open() 與 io 模組
open() 與 io 模組open() 與 io 模組
open() 與 io 模組
Justin Lin
 
open() 與 io 模組
open() 與 io 模組open() 與 io 模組
open() 與 io 模組
Justin Lin
 
07 Structure, File.pdf
07 Structure, File.pdf07 Structure, File.pdf
07 Structure, File.pdf
JTLai1
 
CH10:輸入輸出
CH10:輸入輸出CH10:輸入輸出
CH10:輸入輸出
Justin Lin
 
[圣思园][Java SE]Io 1
[圣思园][Java SE]Io 1[圣思园][Java SE]Io 1
[圣思园][Java SE]Io 1
ArBing Xie
 
Java_05:檔案輸出輸入機制
Java_05:檔案輸出輸入機制Java_05:檔案輸出輸入機制
Java_05:檔案輸出輸入機制
Brad Chao
 
Io 1
Io 1Io 1
Io 1
Medivh2011
 
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
Justin Lin
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
Justin Lin
 
open() 與 io 模組
open() 與 io 模組open() 與 io 模組
open() 與 io 模組
Justin Lin
 
open() 與 io 模組
open() 與 io 模組open() 與 io 模組
open() 與 io 模組
Justin Lin
 
07 Structure, File.pdf
07 Structure, File.pdf07 Structure, File.pdf
07 Structure, File.pdf
JTLai1
 
CH10:輸入輸出
CH10:輸入輸出CH10:輸入輸出
CH10:輸入輸出
Justin Lin
 
[圣思园][Java SE]Io 1
[圣思园][Java SE]Io 1[圣思园][Java SE]Io 1
[圣思园][Java SE]Io 1
ArBing Xie
 
Java_05:檔案輸出輸入機制
Java_05:檔案輸出輸入機制Java_05:檔案輸出輸入機制
Java_05:檔案輸出輸入機制
Brad Chao
 
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
Justin Lin
 
Ad

More from neochen2701 (9)

20190923-吳恒毅-精準描述
20190923-吳恒毅-精準描述20190923-吳恒毅-精準描述
20190923-吳恒毅-精準描述
neochen2701
 
201909-1-龔文儀-溝通-觀察
201909-1-龔文儀-溝通-觀察201909-1-龔文儀-溝通-觀察
201909-1-龔文儀-溝通-觀察
neochen2701
 
20191028 -successful cases
20191028 -successful cases20191028 -successful cases
20191028 -successful cases
neochen2701
 
20191021-沈芳玟-影片分鏡稿案例分享
20191021-沈芳玟-影片分鏡稿案例分享20191021-沈芳玟-影片分鏡稿案例分享
20191021-沈芳玟-影片分鏡稿案例分享
neochen2701
 
20191014-林金祥-UIUX
20191014-林金祥-UIUX20191014-林金祥-UIUX
20191014-林金祥-UIUX
neochen2701
 
20190916-高玉璁-角色與溝通技巧工具
20190916-高玉璁-角色與溝通技巧工具20190916-高玉璁-角色與溝通技巧工具
20190916-高玉璁-角色與溝通技巧工具
neochen2701
 
201909-3-葉佩蓉-溝通-書寫
201909-3-葉佩蓉-溝通-書寫201909-3-葉佩蓉-溝通-書寫
201909-3-葉佩蓉-溝通-書寫
neochen2701
 
201909-2-林孟穎-溝通-聆聽
201909-2-林孟穎-溝通-聆聽201909-2-林孟穎-溝通-聆聽
201909-2-林孟穎-溝通-聆聽
neochen2701
 
Tqc+程式語言Python-第0章
Tqc+程式語言Python-第0章Tqc+程式語言Python-第0章
Tqc+程式語言Python-第0章
neochen2701
 
20190923-吳恒毅-精準描述
20190923-吳恒毅-精準描述20190923-吳恒毅-精準描述
20190923-吳恒毅-精準描述
neochen2701
 
201909-1-龔文儀-溝通-觀察
201909-1-龔文儀-溝通-觀察201909-1-龔文儀-溝通-觀察
201909-1-龔文儀-溝通-觀察
neochen2701
 
20191028 -successful cases
20191028 -successful cases20191028 -successful cases
20191028 -successful cases
neochen2701
 
20191021-沈芳玟-影片分鏡稿案例分享
20191021-沈芳玟-影片分鏡稿案例分享20191021-沈芳玟-影片分鏡稿案例分享
20191021-沈芳玟-影片分鏡稿案例分享
neochen2701
 
20191014-林金祥-UIUX
20191014-林金祥-UIUX20191014-林金祥-UIUX
20191014-林金祥-UIUX
neochen2701
 
20190916-高玉璁-角色與溝通技巧工具
20190916-高玉璁-角色與溝通技巧工具20190916-高玉璁-角色與溝通技巧工具
20190916-高玉璁-角色與溝通技巧工具
neochen2701
 
201909-3-葉佩蓉-溝通-書寫
201909-3-葉佩蓉-溝通-書寫201909-3-葉佩蓉-溝通-書寫
201909-3-葉佩蓉-溝通-書寫
neochen2701
 
201909-2-林孟穎-溝通-聆聽
201909-2-林孟穎-溝通-聆聽201909-2-林孟穎-溝通-聆聽
201909-2-林孟穎-溝通-聆聽
neochen2701
 
Tqc+程式語言Python-第0章
Tqc+程式語言Python-第0章Tqc+程式語言Python-第0章
Tqc+程式語言Python-第0章
neochen2701
 
Ad

Recently uploaded (16)

朗思雅思✔️pte gmat sat act代考100通过✔️不过退款-替考代考【微信VQiChen】GRE代考,托福代考,GMAT代考,LSAT代考,S...
朗思雅思✔️pte gmat sat act代考100通过✔️不过退款-替考代考【微信VQiChen】GRE代考,托福代考,GMAT代考,LSAT代考,S...朗思雅思✔️pte gmat sat act代考100通过✔️不过退款-替考代考【微信VQiChen】GRE代考,托福代考,GMAT代考,LSAT代考,S...
朗思雅思✔️pte gmat sat act代考100通过✔️不过退款-替考代考【微信VQiChen】GRE代考,托福代考,GMAT代考,LSAT代考,S...
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
 
【文凭认证】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U of T成绩...
【文凭认证】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U of T成绩...【文凭认证】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U of T成绩...
【文凭认证】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U of T成绩...
Q147258
 
Seq2seq Model introduction with practicing hands on coding.pdf
Seq2seq Model introduction with practicing hands on coding.pdfSeq2seq Model introduction with practicing hands on coding.pdf
Seq2seq Model introduction with practicing hands on coding.pdf
FEG
 
staff training power point for new staffs.pptx
staff training power point for new staffs.pptxstaff training power point for new staffs.pptx
staff training power point for new staffs.pptx
yauvian
 
阮新泉腔的 e(er)、ue(ere),ue 的讀唸例句。頭前是泉腔央元音的變體
阮新泉腔的 e(er)、ue(ere),ue 的讀唸例句。頭前是泉腔央元音的變體阮新泉腔的 e(er)、ue(ere),ue 的讀唸例句。頭前是泉腔央元音的變體
阮新泉腔的 e(er)、ue(ere),ue 的讀唸例句。頭前是泉腔央元音的變體
lct4246
 
Supervised learning in decision tree algorithm
Supervised learning in decision tree algorithmSupervised learning in decision tree algorithm
Supervised learning in decision tree algorithm
FEG
 
📈 动态数据模拟技术 | 修改后的成绩符合历年趋势,避免AI审核风险!GMAT/GRE成绩不达标?【微信VQiChen】专业改分,安全高效,不留记录!
📈 动态数据模拟技术 | 修改后的成绩符合历年趋势,避免AI审核风险!GMAT/GRE成绩不达标?【微信VQiChen】专业改分,安全高效,不留记录!📈 动态数据模拟技术 | 修改后的成绩符合历年趋势,避免AI审核风险!GMAT/GRE成绩不达标?【微信VQiChen】专业改分,安全高效,不留记录!
📈 动态数据模拟技术 | 修改后的成绩符合历年趋势,避免AI审核风险!GMAT/GRE成绩不达标?【微信VQiChen】专业改分,安全高效,不留记录!
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
 
111111111111111111111111应用PSCAD进行电力电子装置仿真.ppt
111111111111111111111111应用PSCAD进行电力电子装置仿真.ppt111111111111111111111111应用PSCAD进行电力电子装置仿真.ppt
111111111111111111111111应用PSCAD进行电力电子装置仿真.ppt
lichengli2
 
托福考试替考-Bingo教育帮您实现高分梦想!【微信VQiChen】美国代考服务| 保分87+,一对一安全靠谱,98%达标
托福考试替考-Bingo教育帮您实现高分梦想!【微信VQiChen】美国代考服务| 保分87+,一对一安全靠谱,98%达标托福考试替考-Bingo教育帮您实现高分梦想!【微信VQiChen】美国代考服务| 保分87+,一对一安全靠谱,98%达标
托福考试替考-Bingo教育帮您实现高分梦想!【微信VQiChen】美国代考服务| 保分87+,一对一安全靠谱,98%达标
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
 
- 高仿护照的法律后果 【微信:hackr01】 - 如何安全使用假护照? 哪里可以买到高仿护照? - 如何定制可用的假签证? -...
- 高仿护照的法律后果 【微信:hackr01】    - 如何安全使用假护照?  哪里可以买到高仿护照?     - 如何定制可用的假签证?     -...- 高仿护照的法律后果 【微信:hackr01】    - 如何安全使用假护照?  哪里可以买到高仿护照?     - 如何定制可用的假签证?     -...
- 高仿护照的法律后果 【微信:hackr01】 - 如何安全使用假护照? 哪里可以买到高仿护照? - 如何定制可用的假签证? -...
【微VqiChen信】daikao8.com!揭秘黑客如何利用漏洞篡改成绩数据黑客助力修改雅思考试成绩,快速提升你的语言能力 . 黑客助力帮你改考试成绩数据,黑客接单改分数,黑客改数据库成绩
 
Education power points for children.pptx
Education power points for children.pptxEducation power points for children.pptx
Education power points for children.pptx
yauvian
 
Unsupervised learning in data clustering
Unsupervised learning in data clusteringUnsupervised learning in data clustering
Unsupervised learning in data clustering
FEG
 
CNN_Image Classification for deep learning.pdf
CNN_Image Classification for deep learning.pdfCNN_Image Classification for deep learning.pdf
CNN_Image Classification for deep learning.pdf
FEG
 
專業外語(二)ghbhuhhhyggyyggyggggggggg-W04.pdf
專業外語(二)ghbhuhhhyggyyggyggggggggg-W04.pdf專業外語(二)ghbhuhhhyggyyggyggggggggg-W04.pdf
專業外語(二)ghbhuhhhyggyyggyggggggggg-W04.pdf
MeiMei986041
 
72小时快速修改TOEFL iBT!ETS后台漏洞利用,分数永久有效!【微信VQiChen】安全高效,助您突破语言关!
72小时快速修改TOEFL iBT!ETS后台漏洞利用,分数永久有效!【微信VQiChen】安全高效,助您突破语言关!72小时快速修改TOEFL iBT!ETS后台漏洞利用,分数永久有效!【微信VQiChen】安全高效,助您突破语言关!
72小时快速修改TOEFL iBT!ETS后台漏洞利用,分数永久有效!【微信VQiChen】安全高效,助您突破语言关!
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
 
專業外語(二)xxxddddddfffffddddddddddd-W06.pdf
專業外語(二)xxxddddddfffffddddddddddd-W06.pdf專業外語(二)xxxddddddfffffddddddddddd-W06.pdf
專業外語(二)xxxddddddfffffddddddddddd-W06.pdf
MeiMei986041
 
【文凭认证】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U of T成绩...
【文凭认证】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U of T成绩...【文凭认证】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U of T成绩...
【文凭认证】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U of T成绩...
Q147258
 
Seq2seq Model introduction with practicing hands on coding.pdf
Seq2seq Model introduction with practicing hands on coding.pdfSeq2seq Model introduction with practicing hands on coding.pdf
Seq2seq Model introduction with practicing hands on coding.pdf
FEG
 
staff training power point for new staffs.pptx
staff training power point for new staffs.pptxstaff training power point for new staffs.pptx
staff training power point for new staffs.pptx
yauvian
 
阮新泉腔的 e(er)、ue(ere),ue 的讀唸例句。頭前是泉腔央元音的變體
阮新泉腔的 e(er)、ue(ere),ue 的讀唸例句。頭前是泉腔央元音的變體阮新泉腔的 e(er)、ue(ere),ue 的讀唸例句。頭前是泉腔央元音的變體
阮新泉腔的 e(er)、ue(ere),ue 的讀唸例句。頭前是泉腔央元音的變體
lct4246
 
Supervised learning in decision tree algorithm
Supervised learning in decision tree algorithmSupervised learning in decision tree algorithm
Supervised learning in decision tree algorithm
FEG
 
111111111111111111111111应用PSCAD进行电力电子装置仿真.ppt
111111111111111111111111应用PSCAD进行电力电子装置仿真.ppt111111111111111111111111应用PSCAD进行电力电子装置仿真.ppt
111111111111111111111111应用PSCAD进行电力电子装置仿真.ppt
lichengli2
 
Education power points for children.pptx
Education power points for children.pptxEducation power points for children.pptx
Education power points for children.pptx
yauvian
 
Unsupervised learning in data clustering
Unsupervised learning in data clusteringUnsupervised learning in data clustering
Unsupervised learning in data clustering
FEG
 
CNN_Image Classification for deep learning.pdf
CNN_Image Classification for deep learning.pdfCNN_Image Classification for deep learning.pdf
CNN_Image Classification for deep learning.pdf
FEG
 
專業外語(二)ghbhuhhhyggyyggyggggggggg-W04.pdf
專業外語(二)ghbhuhhhyggyyggyggggggggg-W04.pdf專業外語(二)ghbhuhhhyggyyggyggggggggg-W04.pdf
專業外語(二)ghbhuhhhyggyyggyggggggggg-W04.pdf
MeiMei986041
 
專業外語(二)xxxddddddfffffddddddddddd-W06.pdf
專業外語(二)xxxddddddfffffddddddddddd-W06.pdf專業外語(二)xxxddddddfffffddddddddddd-W06.pdf
專業外語(二)xxxddddddfffffddddddddddd-W06.pdf
MeiMei986041
 

TQC+ 程式語言 Python 09:檔案處理