iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
Python

自主學習Python網路爬蟲-PTT爬蟲、Hahow爬蟲、Yahoo電影爬蟲實作系列 第 13

Day13 藉由影片教學學習Python基礎語法

  • 分享至 

  • xImage
  •  

今天要分享的是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

輸出結果如下圖:
https://ithelp.ithome.com.tw/upload/images/20240922/20167787NwjVwkGGoc.pnghttps://ithelp.ithome.com.tw/upload/images/20240922/20167787aU5KxoFGtK.pnghttps://ithelp.ithome.com.tw/upload/images/20240922/20167787XbkphpmNvv.png
再來要分享的是檔案刪除
有四種方法,分別為刪除檔案/刪除空資料夾/刪除資料夾及其內容/丟到資源回收桶
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


上一篇
Day12 藉由影片教學學習Python基礎語法
下一篇
Day14 藉由影片教學學習Python基礎語法
系列文
自主學習Python網路爬蟲-PTT爬蟲、Hahow爬蟲、Yahoo電影爬蟲實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言