【干貨分享】推薦5個可以讓你事半功倍的Python自動化腳本
從JSON數(shù)據(jù)轉(zhuǎn)化CSV文件
Python腳本能夠?qū)?code style="font-size: 14px;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(150, 84, 181);">JSON數(shù)據(jù)轉(zhuǎn)化到CSV文件的表格當(dāng)中去,我們輸入的是帶有.json后綴的文件,輸出的是.csv后綴的表格文件,代碼如下import?json
def?converter(input_file,?output_file):
????try:
????????with?open(input_file,?'r')?as?f:
????????????data?=?json.loads(f.read())
????????output?=?','.join([*data[0]])
????????for?obj?in?data:
????????????output?+=?f'\n{obj[字段名1]},{obj[字段名2]},{obj[字段名3]}'
????????with?open(output_file,?'w')?as?f:
????????????f.write(output)
????except?Exception?as?ex:
????????print(f'Error:?{str(ex)}')
密碼生成器
Python腳本可能會派的上用場,代碼如下import?random
import?string
total?=?string.ascii_letters?+?string.digits?+?string.punctuation
length?=?指定的密碼的長度
password?=?"".join(random.sample(total,?length))
Python當(dāng)中的random和string模塊來生成指定長度的密碼給照片添加水印
def?watermark_photo(input_image_path,watermark_image_path,output_image_path):
????base_image?=?Image.open(input_image_path)
????watermark?=?Image.open(watermark_image_path).convert("RGBA")
????#?添加水印照片
????position?=?base_image.size
????newsize?=?(int(position[0]*8/100),int(position[0]*8/100))
????watermark?=?watermark.resize(newsize)
????new_position?=?position[0]-newsize[0]-20,position[1]-newsize[1]-20
????#?創(chuàng)建一個全新的空圖片
????transparent?=?Image.new(mode='RGBA',size=position,color=(0,0,0,0))
????#?將原先的圖片復(fù)制粘貼過去
????transparent.paste(base_image,(0,0))
????#?將水印圖片復(fù)制過去
????transparent.paste(watermark,new_position,watermark)
????image_mode?=?base_image.mode
????if?image_mode?==?'RGB':
????????transparent?=?transparent.convert(image_mode)
????else:
????????transparent?=?transparent.convert('P')
????transparent.save(output_image_path,optimize=True,quality=100)


電腦電量不足提醒
import?psutil
from?pynotifier?import?Notification
battery?=?psutil.sensors_battery()
plugged?=?battery.power_plugged
percent?=?battery.percent
if?percent?<=?20?and?plugged?!=?True:
????Notification(
????????title="Battery?Low",
????????description=str(percent)?+?"%?Battery?remain!!",
????????duration=5,??#?Duration?in?seconds
????).send()
網(wǎng)站截圖
from?selenium?import?webdriver
from?selenium.webdriver.chrome.options?import?Options
options?=?Options()
options.add_argument('--headless')
driver?=?webdriver.Chrome(options=options)
url?=?"https://www.baidu.com"
try:
????driver.get(url)
????page_width?=?driver.execute_script('return?document.body.scrollWidth')
????page_height?=?driver.execute_script('return?document.body.scrollHeight')
????driver.set_window_size(page_width,?page_height)
????driver.save_screenshot('screenshot.png')
????driver.quit()
????print("SUCCESS")
except?IndexError:
????print('Usage:?%s?URL'?%?url)

各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗(yàn)一下哦!(歡迎提建議)
推薦閱讀
牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)
牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長文系列第②篇)
評論
圖片
表情

