在日常的工作和学习中,我们总会遇到各种各样的问题,其中很多都是简单的一遍又一遍的重复操作,不妨直接使用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)我们生成密钥,然后加密文件内容要加密,当然这个key在后面解密文件的时候会派上用场,所以这个key一定要保存好,解密代码如下defdecrypt(filename,key):fernet=Fernet(key)以open(filename,'rb')作为enc_file:encrypted=enc_file.read()decrypted=fernet.decrypt(encrypted)withopen(filename,'wb')asdec_file:dec_file.write(decrypted)decrypt(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美元可以兑换成多少欧元,#案例2c=conv.convert(100,'USD','EUR',date=date(2022,3,30))print(round(c,2))#44.1生成二维码包括二维码的生成和二维码的解析,代码如下importqrcodefromPILimportImagefrompyzbar.pyzbarimportdecodedefGenerate_qrcode(data):qr=qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=4,)qr.add_data(data)qr.make(fit=True)image=qr.make_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应用调用isPython其中的Flask模块用于制作web应用,代码如下fromflaskimportFlaskapp=Flask(__name__)@app.route("/")defhome():return"HelloWorld!"@app.route("/python")deftest():return"WelcometoPython"if__name__=="__main__":app.run(debug=True)以上就是本次分享的全部内容,想要的朋友马上学习编程欢迎关注Python技术大本营获取更多技能教程
