Open jeremyjia opened 6 months ago
import shlex import pipes import argparse from subprocess import check_call
parser = argparse.ArgumentParser(description='audio to waveform') parser.add_argument('--input', '-i', help='file_input', required=True) parser.add_argument('--out', '-o', help='file_out', default='output.png') args = parser.parse_args()
in_file_name = args.input out_file_name = args.out
command = 'ffmpeg -i ' + in_file_name + ' -filter_complex showwavespic=colors=yellow -frames:v 1 -y ' + out_file_name check_call(shlex.split(command))
from PIL import Image, ImageChops import argparse
def invert_color(fname, outfilename): im = Image.open(fname) im_inverted = ImageChops.invert(im)
im_inverted.save(outfilename)
return im_inverted
if name == 'main': parser = argparse.ArgumentParser(description='invert_color plugin') parser.add_argument('--input', '-i', help='file_input', required=True) parser.add_argument('--out', '-o', help='file_out', default='output.png') args = parser.parse_args() in_file_name = args.input out_file_name = args.out invert_color(in_file_name, out_file_name)
from PIL import Image, ImageChops import numpy as np import argparse
parser = argparse.ArgumentParser(description='audio to waveform') parser.add_argument('--input', '-i', help='file_input', required=True) parser.add_argument('--out', '-o', help='file_out', default='output.png') args = parser.parse_args() in_file_name = args.input out_file_name = args.out
original_image_path=in_file_name
handdrawn_image_path=out_file_name
a=np.asarray(Image.open(original_image_path).convert('L')).astype('float') depth=10.
grad=np.gradient(a)
grad_x,grad_y=grad grad_x=grad_xdepth/100. grad_y=grad_ydepth/100. A=np.sqrt(grad_x2+grad_y2+1.) uni_x=grad_x/A uni_y=grad_y/A uni_z=1./A
vec_el=np.pi/2.2
vec_az=np.pi/4.
dx=np.cos(vec_el)np.cos(vec_az) dy=np.cos(vec_el)np.sin(vec_az) dz=np.sin(vec_el)
b=255(dxuni_x+dyuni_y+dzuni_z)
b=b.clip(0,255)
im=Image.fromarray(b.astype('uint8')) print('finished image conversion!') im.save(handdrawn_image_path)
from flask import Flask, render_template, request from wordcloud import WordCloud import matplotlib.pyplot as plt from io import BytesIO import base64
parser = argparse.ArgumentParser(description='audio to waveform') parser.add_argument('--input', '-i', help='file_input', required=True) parser.add_argument('--out', '-o', help='file_out', default='output.png') args = parser.parse_args() in_file_name = args.input out_file_name = args.out
words = request.form['words'] weights = request.form['weights'] wordcloud = WordCloud(width=800, height=400).generate_from_frequencies(dict(zip(words.split(','), map(int, weights.split(','))))) plt.figure(figsize=(8, 4)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis('off') plt.tight_layout(pad=0) buffer = BytesIO() plt.savefig(buffer, format='png') buffer.seek(0) img_str = base64.b64encode(buffer.read()).decode('utf-8')
from flask import Flask, render_template, request from wordcloud import WordCloud import matplotlib.pyplot as plt from io import BytesIO import base64 import argparse
parser = argparse.ArgumentParser(description='audio to waveform') parser.add_argument('--input', '-i', help='file_input', required=True) parser.add_argument('--out', '-o', help='file_out', default='output.png') parser.add_argument('--weights', '-w', help='weight', default='1,2,3,4') args = parser.parse_args() in_file_name = args.input out_file_name = args.out in_weight = args.weights
words = in_file_name[7:] # "string-hello,world,jiapeng" 剧本中的参数传递方式 weights = in_weight #"1,2,3" wordcloud = WordCloud(width=800, height=400).generate_from_frequencies(dict(zip(words.split(','), map(int, weights.split(','))))) plt.figure(figsize=(8, 4)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis('off') plt.tight_layout(pad=0) buffer = BytesIO() plt.savefig(buffer, format='png') buffer.seek(0) img_str = base64.b64encode(buffer.read()).decode('utf-8') plt.close() print(img_str)
with open(out_file_name, "wb") as f: f.write(buffer.getvalue())
首先安装库 pip install qrcode[pil] 实现代码如下: import argparse import qrcode
def create_qr_code(input_text, output_file): qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data(input_text) qr.make(fit=True)
img = qr.make_image(fill='black', back_color='white')
img.save(output_file)
print(f"QR code saved as {output_file}")
if name == "main": parser = argparse.ArgumentParser(description="Generate a QR code from input text") parser.add_argument('--input', '-i', help='Input text for QR code', required=True) parser.add_argument('--output', '-o', help='Output file name for the QR code image', required=True)
args = parser.parse_args()
create_qr_code(args.input, args.output)
在命令行运行脚本 python generate_qr.py --input "www.google.com" --output "google_qr.jpg" 这个.py 生成了 "www.google.com" 的二维码并存储图片在相同的文件夹下,名字叫google_qr.jpg 如下 实验了如下命令 python generate_qr.py --input "今天是个好日子" --output "hrz.jpg" 生成了相应的QRcode如下 实验了如下命令 python generate_qr.py --input "搜狐,是一家互联网中文门户网站。1995年,搜狐创始人张朝阳利用风险投资创建了爱特信信息技术有限公司,1998年正式推出搜狐网。2000年,搜狐在美国纳斯达克证券市场上市。 搜狐开发的产品有搜狗拼音输入法、搜狗五笔输入法、搜狗音乐盒、搜狗浏览器、搜狐视频、独立的搜索引擎搜狗和网游门户畅游。" --output "shouhu.jpg"生成了相应的QRcode如下
import requests import argparse from bs4 import BeautifulSoup
parser = argparse.ArgumentParser(description='get medal list for 2024') parser.add_argument('--input', '-i', help='file_input', required=True) parser.add_argument('--out', '-o', help='file_out', default='out_medal_list.txt') args = parser.parse_args() in_source_url = args.input out_file_name = args.out
url = 'https://tiyu.baidu.com/al/major/home?page=home&match=2024年巴黎奥运会&tab=奖牌榜'
response = requests.get(url)
if response.status_code == 200:
print(response.text)
soup = BeautifulSoup(response.text, 'html.parser')
# 假设我们要找的<div>元素有一个特定的class="target-class"
# 使用find_all()查找所有匹配的<div>元素,或者find()找到第一个匹配的<div>元素
div_target = soup.find('div', class_='c-infinite-scroll')
# 遍历找到的所有<div>元素
divs = div_target.find_all('div',resursive=False)
index = 0
hFile = open(out_file_name, "w")
for div in divs:
# 提取<div>内的文本内容
# text = div.get_text(strip=True)
s = div.text
if len(s) != 0:
line = index % 7
if line in (0,1,3,4,5,6):
print(s)
hFile.write(s)
nlen = len(s)
for i in range (10-nlen):
hFile.write(' ')
index = index + 1
if index % 7 == 0:
hFile.write("\n")
# print(s)
hFile.close()
else: print('请求失败,状态码:', response.status_code)
import argparse import qrcode import pyqrcode
def create_qr_code(input_text, output_file): print("call create_qr_code:"+input_text) qr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=4,) qr.add_data(input_text) qr.make(fit=True)
img = qr.make_image(fill='black', back_color='white')
img.save(output_file)
print(f"QR code is saved as {output_file}")
def is_txt_file(filename): return filename.lower().endswith('.txt')
if name == "main":
parser = argparse.ArgumentParser(description="Generate a QR code from input text") parser.add_argument('--input', '-i', help='Input text for QR code', required=True) parser.add_argument('--output', '-o', help='Output file name for the QR code image', required=True) args = parser.parse_args()
inputText = args.input
if is_txt_file(args.input): with open (args.input) as f: inputText = f.read()
create_qr_code(inputText, args.output)
print('python plug in test!')
建立本issue,作为Python的插件库,以备在剧本中引用,类似之前的Javascript插件数据库 #901