分享10个超级实用的Python自动化脚本,用更少的Python脚本做更多的事情来自动化处理,今天给大家分享10个Python进阶脚本,帮助我们减少不必要的时间浪费,提高工作和学习效率。为照片添加水印为照片添加水印有多种代码。下面可能是最简单的形式,fromPILimportImagefromPILimportImageFontfromPILimportImageDrawdefwatermark_Image(img_path,output_path,text,pos):img=Image.打开(img_path)drawing=ImageDraw.Draw(img)black=(10,5,12)drawing.text(pos,text,fill=black)img.show()img.save(output_path)img='2.png'watermark_Image(img,'watermarked_2.jpg','Python',pos=(10,10))检测文本文件的相似度很多时候我们需要检测两个文件的相似度,相似度有多少,大概如下这个脚本文件可以派上用场fromdifflibimportSequenceMatcherdeffile_similarity_checker(f1,f2):withopen(f1,errors="ignore")asfile1,open(f2,errors="ignore")asfile2:f1_data=file1.read()f2_data=file2.read()checking=SequenceMatcher(None,f1_data,f2_data).ratio()print(f"这些文件{checking*100}%相似")file_1"="path1"file_2=Path2"file_similarity_checker(file_1,file_2)对文件内容进行加密有时候我们手中的文件内容很重要也很机密,我们可以选择要对此进行加密,代码如下fromcryptography.fernetimportFernetdefencrypt(filename,key):fernet=Fernet(key)withopen(filename,'rb')asfile:original=file.read()encrypted=fernet.encrypt(original)withopen(filename,'wb')asenc_file:enc_file.write(encrypted)key=Fernet.generate_key()filename="file.txt"encrypt(filename,key)我们生成密钥,然后加密文件内容加密,当然这个密钥在后面解密文件的时候会派上用场,所以一定要保存好密钥,解密代码如下defdecrypt(filename,key):fernet=Fernet(key)withopen(filename,'rb')asenc_file:encrypted=enc_file.read()decrypted=fernet.decrypt(encrypted)withopen(filename,'wb')asdec_file:dec_file.write(decrypted)解密(filename,key)上面的脚本密钥是一个随机生成的随机数。当然key也可以自己指定。代码如下output_file_path,key):pyAesCrypt.decryptFile(input_file_path,output_file_path,key)print("Filehasbeendecrypted")ConvertphotostoPDF有时候我们需要将照片转成PDF格式,或者一张一张的添加照片到PDF文件中,代码如下importosimportimg2pdfwithopen("Output.pdf","wb")asfile:file.write(img2pdf.convert([iforiinos.listdir('filepath')ifi.endswith(".jpg")]))修改照片的长宽如果我们要修改照片的长宽,下面的代码可以帮到忙,代码如下fromPILimportImageimportosdefimg_resize(file,h,w):img=Image.open(file)Resize=img.resize((h,w),Image.ANTIALIAS)Resize.save('resized.jpg','JPEG',quality=90)img_resize("文件路径",400,200)对照片的其他操作除了上面修改照片的长宽之外,我们还有对照片的其他操作,比如模糊照片的内容img=Image.open('1.jpg')blur=图像。filter(ImageFilter.BLUR)blur.save('output.jpg')照片翻转90度img=Image.open('1.jpg')rotate=img.rotate(90)rotate.save('output.jpg')照片锐化img=Image.open('1.jpg')sharp=img.filter(ImageFilter.SHARPEN)sharp.save('output.jpg')照片对称翻转,代码如下img=Image.open('1.jpg')transpose=img.transpose(Image.FLIP_LEFT_RIGHT)transpose.save('output.jpg')照片灰度处理img=Image.open('1.jpg')convert=img.convert('L')convert.save('output.jpg')测试网速当然我们在开始测试网速之前需要下载依赖模块pipinstallspeedtest-cli,然后我们开始尝试测试网络速度fromspeedtestimportSpeedtestdefTesting_Speed(net):download=net.download()upload=net.upload()print(f'downloadspeed:{download/(1024*1024)}Mbps')print(f'uploadspeed:{upload/(1024*1024)}Mbps')print("Startnetworkspeedtest...")net=Speedtest()Testing_Speed(net)货币汇率转换比如我们要看汇率美元和英镑之间的转换,100美元可以转换成多少英镑,代码如下#importmodulefromcurrency_converterimportCurrencyConverterfromdatetimeimportdate#案例1conv=CurrencyConverter()c=conv.convert(100,'USD','GBP')print(round(c,2))#保留两位小数或者我们想看看美元和欧元的汇率换算,100美元可以兑换多少欧元,#Case2c=conv.convert(100,'USD','EUR',date=date(2022,3,30))print(round(c,2))#44.1生成二维码包括二维码的生成和二维码的解析,代码如下importqrcodefromPILimportImagefrompyzbar.pyzbarimportdecodedefGenEraate_qrcode(数据):qr=qrcode.qrcode(version=1,error_correction=qrcode.constants.error_correct_l,box_size=10,border=4,)qr.Adata(数据)qr.make(fIT)tr.makemake_image(fill_color="black",back_color="white")image.save("qrcode.png")Generate_qrcode("Python")下面看一下二维码的解析,代码如下defDecode_Qrcode(file_name):result=decode(Image.open(file_name))print("Data:",result[0][0].decode())Decode_Qrcode("filename")做一个简单的web应用调用Python中的flask模块Make一个web应用,代码如下fromflaskimportFlaskapp=Flask(__name__)@app.route("/")defhome():return"HelloWorld!"@app.route("/python")deftest():return"WelcometoPython"if__name__=="__main__":app.run(debug=True)以上就是本次分享的全部内容,如果你觉得文章还不错,欢迎关注公众号:Python编程学习圈,每日干货分享,发送“J”还能收到海量学习资料,涵盖Python电子书、教程、数据库编程、Django、爬虫、云计算等或者去编程学习网了解更多编程技术知识。
