自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十個Python編程腳本,超能力再升級

開發(fā)
手動整理文件和文件夾可能很繁瑣。這個Python腳本可以自動根據(jù)文件擴展名將文件分類到對應(yīng)的文件夾。

Python因其易讀性和簡潔的語法,非常適合編程新手。想要提升你的Python技能嗎?本文精選了10個有趣的腳本,提升你的編程超能力,讓我們一起開始學(xué)習(xí)吧!

目錄

  1. 自動整理文件和文件夾
  2. 自動刪除舊文件
  3. 批量調(diào)整圖片大小
  4. 密碼生成器
  5. 自動退訂
  6. 圖片水印
  7. 定時發(fā)送郵件
  8. 隨機維基百科文章
  9. 網(wǎng)站屏蔽器
  10. 發(fā)送WhatsApp消息

1. 自動整理文件和文件夾

手動整理文件和文件夾可能很繁瑣。這個Python腳本可以自動根據(jù)文件擴展名將文件分類到對應(yīng)的文件夾。

import os
import shutil
# 要整理的文件夾
folder = '/path/to/folder/'
# 文件擴展名和對應(yīng)的文件夾名稱
extensions = {
    'Images': ['jpg', 'jpeg', 'png', 'svg'],
    'Documents': ['doc', 'docx', 'pdf', 'xls', 'ppt', 'txt'],
    'Video': ['mov', 'mp4', 'avi', 'wmv'],
    'Audio': ['wav', 'mp3']
}
# 遍歷文件夾中的項目
for item in os.listdir(folder):
  filename, extension = os.path.splitext(item)
  
  # 如果是文件,將其移動到對應(yīng)的文件夾
  if extension:
    for folder_name, ext_list in extensions.items():
      if extension[1:] in ext_list: 
        folder_path = os.path.join(folder, folder_name) 
        if not os.path.exists(folder_path):
          os.makedirs(folder_path)
        shutil.move(os.path.join(folder, item), folder_path)

閑時記得運行它,文件整理頂呱呱!

2. 自動刪除舊文件

累積的舊文件會占用硬盤空間。這個腳本會刪除超過指定年齡的文件。

import os
import shutil
import datetime

# 要清理的文件夾
folder = '/path/to/folder'

# 修改日期早于此日期的文件將被刪除 
days = 30
seconds = days * 24 * 60 * 60
min_date = datetime.datetime.now() - datetime.timedelta(seconds=seconds)
for root, dirs, files in os.walk(folder):
  for file in files:
    file_path = os.path.join(root, file)
    modified = os.path.getmtime(file_path)

    if modified < min_date.timestamp():
      print(f'Deleting old file: {file_path}')
      os.remove(file_path)

設(shè)置days變量以自動清理舊文件。

3. 批量調(diào)整圖片大小

手動調(diào)整大量圖片的大小很耗時。這個腳本可以調(diào)整文件夾中所有圖片的大小。

from PIL import Image  
import os

# 包含要調(diào)整大小的圖片的文件夾
folder = '/path/to/folder' 

# 期望的圖片尺寸
size = (800, 600)
for img in os.listdir(folder):
  if img.endswith(('jpg', 'jpeg', 'png')):
    path = os.path.join(folder, img)

    image = Image.open(path)
    image_resized = image.resize(size)
    image_resized.save(path)
print('Images resized successfully!')

只需設(shè)置期望的大小并運行,即可輕松批量調(diào)整圖片大小。

4. 密碼生成器

需要一些獨特的安全密碼?不妨試試下面的安全密碼隨機生成法。

import random
import string

length=12 #密碼長度

# 可選字符列表
lower=string.ascii_lowercase
upper=string.ascii_uppercase
num=string.digits
symbols=string.punctuation

# 合并所有字符集
all=lower+upper+num+symbols

# 使用random創(chuàng)建密碼
password = ''.join(random.sample(all,length)) 
print(password)

fetchone()方法獲取結(jié)果集的一行。

5. 自動退訂

收到電子郵件垃圾郵件很煩人。這個腳本可以從文本文件中的所有郵件列表中退訂。

import smtplib
from email.mime.text import MIMEText
# 要退訂的電子郵件列表 
unsub_emails = open('unsub_list.txt').readlines() 
for email in unsub_emails:
  msg = MIMEText('Unsubscribe')
  msg['Subject'] = 'Unsubscribe'
  msg['From'] = 'you@email.com'
  msg['To'] = email

  s = smtplib.SMTP('localhost')
  s.send_message(msg)
  s.quit()

  print(f'Unsubscribed from {email}')

6. 圖片水印

給圖片添加水印可以保護您的作品。這個腳本可以為文件夾中的所有圖片添加水印。

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw

img_folder = '/path/to/folder'
watermark_text = 'Your Watermark'
# 加載字體
font = ImageFont.truetype('arial.ttf', 50)
for img in os.listdir(img_folder):
  if img.endswith(('.jpg','.jpeg')):
    
    path = os.path.join(img_folder, img)
    image = Image.open(path)

    # 使圖片可編輯
    drawing = ImageDraw.Draw(image)

    # 獲取文本大小
    text_size = drawing.textsize(watermark_text, font)

    # 設(shè)置位置
    position = image.size[0] - text_size[0], image.size[1] - text_size[1]

    # 添加水印 
    drawing.text(position, watermark_text, (255,255,255), font=font)

    # 保存加水印的圖片
    image.save(path)
    print('Added watermarks to all images!')

自定義水印文本和字體樣式/大小以滿足您自己的水印需求。

7. 定時發(fā)送郵件

提前寫好郵件并安排發(fā)送時間非常方便。這個腳本正是這樣做的。

import smtplib
from email.mime.text import MIMEText
from email.utils import formatdate
import datetime as dt
# 郵件詳情
sender = 'you@email.com'
recipients = ['recipient@email.com']
msg = MIMEText('Body')
msg['Subject'] = 'Scheduled Email' 
msg['From'] = sender
msg['To'] = ', '.join(recipients)
# 安排明天發(fā)送
send_date = dt.datetime.now().date() + dt.timedelta(days=1)
msg['Date'] = formatdate(int(send_date.timestamp()))

s = smtplib.SMTP('localhost')
s.send_message(msg)
s.quit()
print('Email scheduled for tomorrow!')

只需調(diào)整send_date即可安排稍后發(fā)送郵件。

8. 隨機維基百科文章

這個腳本會在您的瀏覽器中打開一個隨機的維基百科文章。

import requests
import webbrowser

api_url = 'https://en.wikipedia.org/api/rest_v1/page/random/summary'
response = requests.get(api_url)
data = response.json()

random_title = data['title']
random_page = 'https://en.wikipedia.org/wiki/'  + random_title

print('Opening random Wikipedia page:')
print(random_page)

webbrowser.open(random_page)

9. 網(wǎng)站屏蔽器

一些網(wǎng)站在工作時可能會分散注意力。這個腳本可以在設(shè)定的時間內(nèi)屏蔽網(wǎng)站。

import time
from datetime import datetime as dt

hosts_path = r"/etc/hosts"
redirect = "127.0.0.1"
# 要屏蔽的網(wǎng)站列表 
websites = ["www.facebook.com","facebook.com"]

start_time = dt(2023, 11, 10, 8, 0, 0)
end_time = dt(2023, 11, 10, 16, 0, 0)
while True:

  if start_time < dt.now() < end_time:
    print("Working hours...")
    with open(hosts_path, 'r+') as file:
      content = file.read()
      for site in websites:
        if site not in content:
          file.write(redirect + " " + site + "\n")

  else:
    print("Free time...")
    with open(hosts_path, 'r+') as file:
      content = file.readlines()
      file.seek(0)
      for line in content:
        if not any(site in line for site in websites):
          file.write(line)
      file.truncate()

  time.sleep(5)

此腳本可以在您配置的工作時間內(nèi)屏蔽和取消屏蔽網(wǎng)站,以實現(xiàn)無干擾的生產(chǎn)力。

10. 發(fā)送WhatsApp消息

直接從Python發(fā)送WhatsApp消息?是的,這是可能的!這個腳本可以發(fā)送WhatsApp消息。

from twilio.rest import Client
# 您的Twilio憑證 
account_sid = 'ACxxxxxxxxx' 
auth_token = 'xxxxxxxxxx'
client = Client(account_sid, auth_token)
# 消息詳情
from_whatsapp = 'whatsapp:+14155238886'
to_whatsapp = 'whatsapp:+447123456789'
body = 'Hello from Python!'

message = client.messages.create(  
                              from_=from_whatsapp,  
                              body=body,      
                              to=to_whatsapp
                          )
print(message.sid)

方便用于通過WhatsApp直接發(fā)送通知或警報。

責(zé)任編輯:武曉燕 來源: Python學(xué)研大本營
相關(guān)推薦

2024-11-04 19:46:38

2015-03-13 11:23:21

編程編程超能力編程能力

2011-02-22 17:48:34

Konqueror

2023-11-12 23:01:44

PaddleOCR深度學(xué)習(xí)

2024-05-15 16:07:03

Python框架

2021-08-03 21:24:13

ARVR

2023-12-22 14:31:52

2024-01-30 00:40:10

2024-03-14 08:28:45

2024-09-14 09:26:17

Python網(wǎng)絡(luò)編程

2013-12-02 10:30:29

瀏覽器

2019-03-28 09:26:26

數(shù)據(jù)科學(xué)模型機器學(xué)習(xí)

2023-10-29 17:12:26

Python編程

2024-06-21 10:46:44

2022-04-20 07:42:08

Python腳本代碼

2022-08-29 14:56:56

Python腳本代碼

2024-12-27 08:14:28

2019-02-28 22:10:30

AI人工智能預(yù)測

2023-04-20 18:45:44

2013-03-11 13:35:26

腕帶
點贊
收藏

51CTO技術(shù)棧公眾號