Skip to content

They are some short code to handle easy but time-consuming cases. Tbh,they are my treasure.XD

Notifications You must be signed in to change notification settings

huchi00057/Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 

Repository files navigation

物件偵測日常

✏資料夾內最新的那個檔案之讀取

#找出最新一筆檔案(依據最後更動時間)#用來判斷儲存最後一次的id
#下次才知道id從多少開始
#而檔名是依據日期去建立的
def new_report(test_report): 
   #列出目錄的下所有文件和文件夾保存到
    lists lists = os.listdir(test_report) 
    #按時間排序 
    lists.sort(key=lambda fn:os.path.getmtime(test_report + "\\" + fn)) 
    #獲取最新的文件保存到file_new  
    file_new = os.path.join(test_report,lists[-1]) 
return file_new

✏額外將結果輸出至記事本

tp = 1
path = 'want.txt'
all_thing = "tp" + str(tp)
f = open(path,'a')
f.write(all_thing)
f.close()

✏轉換圖片名稱

from PIL import Image
import glob
import shutil, os
from time import sleep

#建立空的資料夾,若資料夾已存在,記先刪除再創立一個新資料夾
def emptydir(dirname):
    #check資料夾是否存在
    if os.path.isdir(dirname):
        #刪除舊的資料夾
        shutil.rmtree(dirname)
        #刪除需要時間,故延遲兩秒
        sleep(2)
    #建立資料夾
    os.mkdir(dirname)

myfiles = glob.glob("pic/*.JPG")
emptydir('training')
print('開始轉換圖片命名!')

for i, f in enumerate(myfiles):
    img = Image.open(f)
    outname =str('{:0>1d}').format(i+270) + '.jpg'
    img.save('training/'+ outname)

print('轉換結束!')

✏獲取當前執行檔之路徑

img_dir = sys.executable

✏修改記事本內重複的文字

f = open("D:\desktop\yolov7\data\demo.txt",'r')
f_data = ""

old = "darknetYolo/darknet/build/darknet/x64/yolov4/LabelmeData/tmp/SSA_all"
new = "dewsktop/demo/data"

for lines in f:
    if old in lines:
        lines = lines.replace(old,new)
        f_data += lines

f = open("D:\desktop\yolov7\data\demo.txt",'w')
f.write(f_data)

f.close()

Anaconda Prompt

✏查看 Python版本

python —version

✏查看 Pytorch版本

python 
import torch
print(torch.**version**)
👋ctrl+z 或者exit

out:1.11.0+cpu

#爬蟲

✏擷取文字-函式

#抓【到這裡的文字】
#參數s是要判斷的字串
#參數f是從哪擷取start
#參數b是擷取到哪end
def get_str_btw(s, f, b): 
    par = s.partition(f) 
    return (par[2].partition(b))[0][:]  
    
#第一個到》
tmp_store = tmp[:tmp.index("》")].strip() 

✏擷取文字-index

str1 = "HELLO . WORLD"
str2 = "."
print(:str1.index(str2))      #印出 "HELLO"
print(str1.index(str2):)      #印出 "WORLD"

✏擷取數字

import re    #導入正規運算式
變數 = re.findall(r"\d",字串)

✏文字的相似度判斷

#相似度函式
#如果某店家之資料表內的所有資料與要新增進去的資料相比
#相似度大於等於0.5就視為同個優惠 
def similarity(a, b): 
     return SequenceMatcher(None, a, b).ratio() 

✏取代記事本文字內的資料

    #要修改內容的記事本
    path = "test.txt"
    f = open(path,'r')

    #修改路徑從 darknetYolo 移至 yolov7-wang 中
    ssa = "D:/darknetYolo/darknet/build/darknet/x64/yolov4/LabelmeData/tmp/SSA_all"
    ta = "D:/darknetYolo/darknet/build/darknet/x64/yolov4/LabelmeData/tmp/TA_all"
    hp = "D:/darknetYolo/darknet/build/darknet/x64/yolov4/LabelmeData/tmp/HP_all"
    new = "D:/desktop/yolov7-wang/data/image"
    replacement = ""

    #將取代後的文字都塞到字串 replacement 中
    for line in f:
        line = line.strip()
        if ssa in line:
            change = line.replace(ssa,new)
            replacement = replacement + change + "\n"

        elif ta in line:
            change = line.replace(ta,new)
            replacement = replacement + change + "\n"

        elif hp in line:
            change = line.replace(hp,new)
            replacement = replacement + change + "\n"

    f.close()

    #打開記事本並寫入
    fout = open("test.txt","w")
    fout.write(replacement)
    fout.close()

Colab

✏程式碼漂亮技巧-分割線/太長要切割

1.輸入 "#%%" 井趴趴 =>將出現如圖的直線 image

2.一條程式碼太長 輸入 "" 斜線 =>如圖

image

✏Colab 可愛小分享

image

  1. 首先開啟你的colab
  2. 在畫面右上角你自己google帳號的那個圓圈旁邊,有一個像設定符號的按鈕,給他按下去 image
  3. 接著看到如下圖的畫面後,點選"其他"

image

  1. 最後看你是狗派還是貓派,勾選你喜歡的模式吧

image

🌱附註:如果你兩個都愛的話,恭喜你可以複選!!

🌱附註:效能等級那裏可以玩玩看

⚠暴雷:效能等級點"Many Power"的話,每打一個字就會有遊戲的蹦蹦效果,如下圖這個東東

About

They are some short code to handle easy but time-consuming cases. Tbh,they are my treasure.XD

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published