python输入文件名读取文件_[Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等...
1、從鍵盤輸入
Python 2有兩個內置的函數用于從標準輸入讀取數據,默認情況下來自鍵盤。這兩個函數分別是:input()和raw_input()。
Python 3中,不建議使用raw_input()函數。 input()函數可以從鍵盤讀取的全都會轉化為字符串類型。
圖中可以看出 就算我們輸入 123456789 input() 函數 還是完全把他看做 字符串
2、打開和關閉文件
Python提供了默認操作文件所必需的基本功能和方法。可以使用文件對象執行大部分文件操作。
一下方法為 Python內置 方法,不需要導入包。
1、打開文件
在讀取或寫入文件之前,必須使用Python的內置open()函數打開文件。此函數創建一個文件對象,該對象將用于調用與其相關聯的其他支持方法。
在 Pycharm IDE 中 輸入 open(), 然后按住 Ctrl 并且鼠標單擊 open,即可查看 open 方法。
參數:
file:參數是一個字符串類型,指定要訪問的文件名稱
mode:確定文件打開的模式,即讀取,寫入,追加等。可能的值的完整列表如下表所示。 這是一個可選參數,默認文件訪問模式為(r - 也就是只讀)。
一般情況下 只需要 填入這兩個參數即可,其他保持默認。
以下是打開文件使用的模式的列表 :
2、文件對象屬性
打開一個文件并且有一個文件對象后,可以獲得與該文件相關的各種信息。
以下是與文件對象相關的所有屬性的列表:
3、close() 方法
文件對象的close()方法刷新任何未寫入的信息并關閉文件對象,之后不能再進行寫入操作。
當文件的引用對象重新分配給另一個文件時,Python也會自動關閉一個文件。但使用close()方法關閉文件是個好習慣。
語法:fileName.close()
3、讀取與寫入文件
文件對象提供了一組訪問方法,使代碼編寫更方便。read()和write()方法 分別用來讀取和寫入文件。
1、write()方法
write()方法將任何字符串寫入打開的文件。 重要的是要注意,Python字符串可以是二進制數據,而不僅僅是文本。
write()方法不會在字符串的末尾添加換行符(‘\n‘)
只需要一個參數,即需要寫入的文本內容
PS.打開文件的時候需要給予寫入的相關權限。
2、read()方法
read()方法用于從打開的文件讀取一個字符串。 重要的是要注意Python字符串除文本數據外可以是二進制數據。
這里,傳遞參數 n 是從打開的文件讀取的字節數。
該方法從文件的開始位置開始讀取,如果 n 不指定值,則讀取全文。
4、文件位置
tell()方法
用于獲取文件中的當前位置; 換句話說,下一次讀取或寫入將發生在從文件開始處之后的多個字節數的位置。
seek(offset [,from])方法:
更改當前文件位置。 offset參數表示要移動的字節數。 from參數指定要移動字節的引用位置。
from參數:
設置為0,則將文件的開頭作為參考位置。 如果設置為1,則將當前位置用作參考位置。 如果設置為2,則文件的末尾將被作為參考位置。
5、重命名和刪除文件
Python os模塊 提供用于執行文件處理操作(如重命名和刪除文件)的方法。要使用此模塊,需要先將它導入,然后可以調用任何相關的函數。
1、rename()方法
rename()方法 有兩個參數,即 當前的文件名 和 新的文件名。
2、remove()方法
remove()方法 通過提供要刪除的文件的名稱作為參數來刪除文件。
6、補充
1、Python 文件對象 的 方法
2、os模塊 的 方法 (略取了一部分)
7、文件讀取、寫入 (配合 文件選擇對話框) 代碼
1 #coding: utf-8
2 #author: Twobox
3
4 importwx5 importos6
7 classMyWin(wx.Frame):8 def __init__(self, parent, title):9 super(MyWin, self).__init__(parent=parent, title=title)10 self.wildcard = "文本文件 (*.txt)|*.txt"
11 self.initUI()12 self.Show()13
14 definitUI(self):15 panel =wx.Panel(self)16
17 vbox =wx.BoxSizer(wx.VERTICAL)18 panel.SetSizer(vbox)19
20 hbox1 =wx.BoxSizer(wx.HORIZONTAL)21 hbox2 =wx.BoxSizer(wx.HORIZONTAL)22 vbox.Add(hbox1, proportion=0, flag=wx.EXPAND | wx.ALL, border=0)23 vbox.Add(hbox2, proportion=1, flag=wx.EXPAND | wx.ALL, border=0)24
25 self.fileAddress =wx.TextCtrl(panel)26 btn1 = wx.Button(panel, label="Open", id=wx.ID_OPEN)27 btn2 = wx.Button(panel, label="Save", id=wx.ID_SAVE)28 hbox1.Add(self.fileAddress, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)29 hbox1.Add(btn1, proportion=0, flag=wx.EXPAND | wx.UP | wx.DOWN, border=5)30 hbox1.Add(btn2, proportion=0, flag=wx.EXPAND | wx.ALL, border=5)31
32 #content 內容 conter 中心
33 self.content = wx.TextCtrl(panel, style=wx.TE_MULTILINE |wx.TE_DONTWRAP)34 hbox2.Add(self.content, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)35
36 self.Bind(wx.EVT_BUTTON, self.eventButtonOpen, btn1)37 self.Bind(wx.EVT_BUTTON, self.eventButtonSave, btn2)38
39 defeventButtonOpen(self, event):40 wildcard =self.wildcard41 dlg = wx.FileDialog(parent=self, message="Please Select File",defaultDir=os.getcwd() ,wildcard=wildcard, style=wx.FD_OPEN)42
43 if dlg.ShowModal() ==wx.ID_OK:44 #dlg.SetPath("1.txt") # 可以更改選擇好的文件地址
45 #print(dlg.GetPath())
46 self.fileAddress.SetValue(dlg.GetPath())47 with open(dlg.GetPath(), "r") as f:48 self.content.SetValue(f.read())49 dlg.Destroy()50
51 defeventButtonSave(self, event):52 wildcard =self.wildcard53 dlg = wx.FileDialog(parent=self, message="Please ......", defaultDir=os.getcwd(), wildcard=wildcard, style=wx.FD_SAVE |wx.FD_OVERWRITE_PROMPT)54
55 if dlg.ShowModal() ==wx.ID_OK:56 filePath =dlg.GetPath()57 self.fileAddress.SetValue(filePath)58 with open(filePath, "w") as f:59 f.write(self.content.GetValue())60 dlg.Destroy()61
62 defmain():63 app =wx.App()64 MyWin(None, "File Dialog - Test")65 app.MainLoop()66
67 if __name__ == '__main__':68 main()
8、后言
還比較全,一般以后對文件的大部分操作都可以完成了。
O.O 昨天 忘記發博客了(其實是浪了)。
2017-08-25 14:55:29
總結
以上是生活随笔為你收集整理的python输入文件名读取文件_[Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 144Hz 高刷新率:优派 HD 27
- 下一篇: 分支限界法实现最优装载c++_分支限界法