精彩评论





在当今快节奏的生活中咱们总是期望找到一种方法来简化日常任务从而提升工作效率。作为一名博客作者自动化工具和脚本可帮助我们节省大量时间,让我们更专注于创作。今天,我将与大家分享10个简单且实用的Python自动化脚本,这些脚本将帮助你轻松应对博客运营中的各种任务。
在博客中我们经常需要解决各种图片格式。有时候,我们需要将jpg格式的图片转换为png格式。下面是一个简单的Python脚本,可实现jpg到png的格式转换。
方法一:
```python
from PIL import Image
def convert_jpg_to_png(input_folder, output_folder):
for filename in os.listdir(input_folder):
if filename.endswith('.jpg'):
img = Image.open(os.path.join(input_folder, filename))
img.save(os.path.join(output_folder, filename[:-4] '.png'), 'PNG')
convert_jpg_to_png('input_folder', 'output_folder')
```
方法二:
```python
import os
from PIL import Image
def convert_jpg_to_png(input_folder, output_folder):
for filename in os.listdir(input_folder):
if filename.endswith('.jpg'):
img = Image.open(os.path.join(input_folder, filename))
img = img.convert('RGBA')
datas = img.getdata()
newData = []
for item in datas:
if item[0] > 220 and item[1] > 220 and item[2] > 220:
newData.end((255, 255, 255, 0))
else:
newData.end(item)
img.putdata(newData)
img.save(os.path.join(output_folder, filename[:-4] '.png'), 'PNG')
convert_jpg_to_png('input_folder', 'output_folder')
```
在博客运营期间,我们可能需要将指定目录下所有特定扩展名的文件更改为新的扩展名。下面是一个批量修改文件扩展名的Python脚本。
```python
import os
def batch_rename(input_folder, old_extension, new_extension):
for filename in os.listdir(input_folder):
if filename.endswith(old_extension):
os.rename(os.path.join(input_folder, filename),
os.path.join(input_folder, filename[:-len(old_extension)] new_extension))
batch_rename('input_folder', '.jpg', '.png')
```
对博客中的教程类文章,我们可能需要将PDF文档转换为MP3格式,以便读者在听歌的同时学。下面是一个利用PyPDF4模块将PDF转换为MP3的脚本。
```python
import PyPDF4
import pyttsx3
def pdf_to_mp3(pdf_file, mp3_file):
pdf_reader = PyPDF4.PdfFileReader(open(pdf_file, 'rb'))
speaker = pyttsx3.init()
for page in range(pdf_reader.numPages):
text = pdf_reader.ge(page).extractText()
speaker.say(text)
speaker.save(mp3_file)
pdf_to_mp3('input.pdf', 'output.mp3')
```
```python
import os
def batch_rename_text_files(input_folder):
for filename in os.listdir(input_folder):
if filename.endswith('.txt'):
new_filename = filename[:-4] '_new.txt'
os.rename(os.path.join(input_folder, filename),
os.path.join(input_folder, new_filename))
batch_rename_text_files('input_folder')
```
```python
from PIL import Image
def compress_images(input_folder, output_folder, quality=85):
for filename in os.listdir(input_folder):
if filename.endswith(('.jpg', '.jpeg', '.png')):
img = Image.open(os.path.join(input_folder, filename))
img.save(os.path.join(output_folder, filename), quality=quality)
compress_images('input_folder', 'output_folder')
```
```python
import re
def generate_table_of_contents(input_file, output_file):
with open(input_file, 'r', encoding='utf-8') as f:
content = f.read()
headings = re.findall(r'# \\s (.*)', content)
toc = '\
'.join([f'{i 1}. {heading}' for i, heading in enumerate(headings)])
with open(output_file, 'w', encoding='utf-8') as f:
f.write(toc)
generate_table_of_contents('input.md', 'output.md')
```