今天要分享的是Python中的檔案複製、檔案刪除、物件導向程式設計(OOP)以及類別變數:
首先是Python中的檔案複製的分享:
複製檔案有三種方法,分別為copyfile/copy/copy2
#copyfile:只複製文件的內容,不會複製描述資訊(如文件在何時建立)
#copy:只複製內容,不複製原始數據,對目錄也可使用
#copy2:可複製文件內容,也可複製文件的描述資訊
import shutil
w = r"C:\Users\USER\OneDrive\桌面\workspace"
source = f"{w}/source_file.txt"
destination = f"{w}/destination_file.txt" #複製一個檔案一定會新建一個檔案(destination_file)
shutil.copyfile(source,destination) #呼叫shutil的copyfile
輸出結果如下圖:
再來要分享的是檔案刪除:
有四種方法,分別為刪除檔案/刪除空資料夾/刪除資料夾及其內容/丟到資源回收桶
1.刪除檔案(檔案名為test.txt)
import os
path = r"C:\Users\USER\OneDrive\桌面\workspace"
os.remove(f"{path}/test.txt") #呼叫os中的remove方法
2.刪除空資料夾(資料夾名為dirc,刪除資料夾為不可復原的動作)
import os
path = r"C:\Users\USER\OneDrive\桌面\workspace"
os.rmdir(f"{path}/dirc")
3.刪除資料夾及其內容(此方法較為有風險)
import shutil
path = r"C:\Users\USER\OneDrive\桌面\workspace"
shutil.rmtree(f"{path}/dirc")
4.丟到資源回收桶
import send2trash #此套件是需要安裝的
path = r"C:\Users\USER\OneDrive\桌面\workspace"
send2trash.send2trash(fr"{path}\test.txt") #刪除test.txt
接下來要分享的是Python中的物件導向程式設計(OOP):
#物件(Object)是類別(Class)的實例(Instance)
#例:車子->類別(Class)
#每一台生產出來的車子->物件(Object)
1.
class Car: #創一個類別(Car),類別就是一個藍圖,以後製造出的車子就會有drive()和stop()方法可用
def __init__(self,make,model,year,color): #創一個類別須先初始化,self指的是物件本身
#在初始化中定義的屬性(make,model,year,color),在新增一個物件時就要給那些屬性
self.make = make
self.model = model
self.year = year
self.color = color
car01 = Car("Toyota","Altis",2012,"藍色") #在括號內創建新的物件
car02 = Car("Ford","Kuga",2016,"白色")
print(car01.make)
print(car01.model)
print(car01.year)
print(car01.color)
輸出結果為:
Toyota
Altis
2012
藍色
2.加入可以drive()與stop()方法
class Car:
def __init__(self,make,model,year,color):
self.make = make
self.model = model
self.year = year
self.color = color
def drive(self): #定義第一個屬性有開車的功能
print(self.model + "正在行駛")
def stop(self): #定義第二個屬性有踩煞車的功能
print(self.model + "已停止")
car01 = Car("Toyota","Altis",2012,"藍色") #在括號內創建新的物件
car02 = Car("Ford","Kuga",2016,"白色")
car01.drive()
car01.stop()
car02.drive()
car02.stop()
輸出結果為:
Altis正在行駛
Altis已停止
Kuga正在行駛
Kuga已停止
最後要分享的是類別變數(Class Variable):
1.範例一/汽車
class Car:
wheels = 4 #直接宣告類別的變數為4(汽車輪子數為4),而非透過init進行初始化
def __init__(self,make,model,year,color): #初始化
self.make = make
self.model = model
self.year = year
self.color = color
car01 = Car("Ford","Focus","2021","白色") #用Car()類別建立一個新的物件
#print(car01.wheels) #輪子數量直接定義在Class中,所以不須在初始化中給
輸出結果為:4
2.範例二/機車
class Car:
wheels = 4 #直接宣告類別的變數為4(汽車輪子數為4),而非透過init進行初始化
def __init__(self,make,model,year,color): #初始化
self.make = make
self.model = model
self.year = year
self.color = color
car02 = Car("三陽","勁戰","2023","黑色")
print(car02.model)
car02.wheels = 2 #直接指定值
print(car02.wheels)
輸出結果為:
勁戰
2
以上是我今天的分享,在第15天挑戰時會分享自主學習的心得!
目前的分享都是在學習Python的基礎語法並實際操作練習,後面才會慢慢走向主題的實作~
參考網址:https://www.youtube.com/watch?v=lvH4-4iYjgs&list=LL&index=4