久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

python函數(shù)自動(dòng)化,python怎么做自動(dòng)化

python自動(dòng)化辦公之python操作PPT

1、python-pptx模塊簡(jiǎn)介

你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)制作、做網(wǎng)站、建網(wǎng)站。成都創(chuàng)新互聯(lián)公司擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺(jué)設(shè)計(jì)專才。

使用python操作PPT,需要使用的模塊就是python-pptx,下面來(lái)對(duì)該模塊做一個(gè)簡(jiǎn)單的介紹。這里提前做一個(gè)說(shuō)明:python操作PPT,最好是我們提前設(shè)計(jì)好自己的一套樣式,然后利用進(jìn)行python進(jìn)行內(nèi)容的獲取和填充(最主要的功能?。詈檬遣挥檬褂胮ython代碼操作PPT的格式,格式的修改肯定不如我們直接在PPT中修改方便。

這里有一點(diǎn)需要注意的是:安裝的庫(kù)是python-pptx,但是導(dǎo)入的時(shí)候卻有點(diǎn)不同。

在使用python操作PPT之前,首先應(yīng)該清楚PPT的結(jié)構(gòu),這個(gè)對(duì)于之后代碼的編寫很有幫助

結(jié)果如下:

結(jié)果如下:

結(jié)果如下:

5)獲取某一頁(yè)Slide中的內(nèi)容

結(jié)果如下:

這個(gè)概念在下面的效果中,會(huì)得以體現(xiàn)。其中prs.slide_layouts[]傳入0表示獲取的是第一個(gè)版式,傳入1表示獲取的是第二個(gè)版式,以此類推下去。

效果如下:

② PPT內(nèi)容的填寫

效果如下:

效果如下:

② 段落的添加

效果如下:

③ 給段落設(shè)定層級(jí)關(guān)系

效果如下:

效果如下:

第一種展示:

效果如下:

第二種展示:

效果如下:

結(jié)果如下:

上面我們已經(jīng)知道怎么添加文本框,現(xiàn)在我們需要做的就是,怎么調(diào)整文本框的位置。

結(jié)果如下:

結(jié)果如下:

結(jié)果如下:

當(dāng)然這里還有一些其他樣式的調(diào)整,和word很類似,就不一一敘述了。

代碼如下:

結(jié)果如下:

PYTHON怎樣編寫自動(dòng)化

就直接寫腳本,給你舉給例子:

編寫工具:

1.設(shè)計(jì)目標(biāo):

首先說(shuō)一下我要工具的功能:

遍歷某個(gè)目錄下包括其下子目錄中所有指定的后綴文件,然后為這些文件的頭部插入指定的字符串。

2.使用場(chǎng)景:

設(shè)計(jì)這樣的工具起因是我最近在將之前 CSDN 中的博客搬運(yùn)到自己的 Hexo 博客空間上,了解的應(yīng)該知道,假如都是 Markdown 編寫的話,搬運(yùn)的時(shí)候只需要在文件頭部加上如下的一串額外的內(nèi)容:

---

title: 博客標(biāo)題

date: 博客創(chuàng)建時(shí)間(例如:2016-09-03 17:15:22)

tags: 標(biāo)簽(如:[Hexo,Next],多個(gè)的話用,號(hào)隔開)

categories: 分類(如:Web)

---123456

標(biāo)題?title?直接使用文件名稱去掉?.md?后綴即可;

時(shí)間?date?需要通過(guò)文件庫(kù)獲取文件的創(chuàng)建時(shí)間;

標(biāo)簽?tags?和分類?categories?,由于我的文件會(huì)根據(jù)分類放入不同的子目錄下,所以直接獲取當(dāng)前文件所在目錄的名稱即可。

此外,為了在博客首頁(yè)只展示部分內(nèi)容,而不是展開博客的完整內(nèi)容,還需要在博客中恰當(dāng)?shù)奈恢貌迦脒@個(gè)標(biāo)簽:!--more--?,通常加載第一段內(nèi)容結(jié)束的位置。

3.實(shí)現(xiàn)代碼:

根據(jù)上面的思路,我們?cè)?source/_posts?目錄下創(chuàng)建一個(gè)工具腳本,起名為?SuitFileToHexo.py?,然后依次完成以下步驟:

指定 Linux 環(huán)境下 Python 解釋器目錄,并指定編碼方式:

#!/usr/bin/env python# -*- coding: utf-8 -*-

引入的模塊:

在腳本開始的地方,最先需要做的事情就是把需要用到的模塊都先引入進(jìn)來(lái),大致分析一下我們這個(gè)功能需要用到的模塊:

import os.path,time

1

遍歷當(dāng)前目錄下所有?.md?文件列表:

這就需要使用到 Python 的文件目錄操作模塊?os.path?,使用?os.listdir?獲取目錄列表,然后通過(guò)?os.path.splitext?分割文件名稱和后綴名,從而篩選合格的文件:

# 獲取指定目錄指定后綴名的文件列表def getFileList(path,endStr):'''獲取指定目錄下,指定后綴的文件列表'''r_list = []

f_list = os.listdir(path) ? #獲取目錄列表for i in f_list: ? ?# 分離文件名和后綴名,過(guò)濾掉工具腳本

file_endStr = os.path.splitext(i)[1] ? ?# 判斷是否是目錄

if os.path.isdir(i):

f_list1 = os.listdir(path+'/'+i) ? ? ? ?for j in f_list1: ? ? ? ? ? ?# 過(guò)濾出指定后綴 endStr 后綴的文件

if os.path.splitext(j)[1] == endStr: ? ? ? ? ? ? ? ?# 為了清晰目錄把文件所在目錄也標(biāo)識(shí)出來(lái)

r_list.append(i+'/'+j) ? ? ? ? ? ? ? ?# print j.decode("string_escape")

elif file_endStr == endStr:

r_list.append(i)return r_list

這里發(fā)現(xiàn)了一個(gè)問(wèn)題,就是在?os.path.isdir(i)?在 2.7.11 的版本莫名其妙地返回 false,需要做如下修改才能正常:

if file_endStr == '':

i = os.path.join(path, i) ? #=================〉這一行很必要

# print i

# 判斷是否是目錄

if os.path.isdir(i):

...

獲取文件的創(chuàng)建時(shí)間:

需要使用到?os.time?模塊的功能:

# 獲取文件創(chuàng)建時(shí)間def get_FileCreateTime(filePath):

t = os.path.getctime(filePath) ?return TimeStampToTime(t)# 把時(shí)間戳轉(zhuǎn)化為時(shí)間: 1479264792 to 2016-11-16 10:53:12'''def TimeStampToTime(timestamp):

timeStruct = time.localtime(timestamp) ?return time.strftime('%Y-%m-%d %H:%M:%S',timeStruct)

獲取博客標(biāo)題:

其實(shí)就是從目錄字符串中截掉后綴名,再截掉最后一個(gè)?/?之前的內(nèi)容即可得到博客名稱:

# 獲取目錄中去掉前面路徑和后綴的文件名字def getFileSimpleName(filePath):

name = ''

# 先去掉后綴

name = os.path.splitext(filePath)[0] ?# 獲取最后一個(gè)斜杠位置

index = name.rfind('/') ?# 找不到則返回 -1

if index != -1: ?# 截取斜杠后面到結(jié)尾內(nèi)容

name = name[index+1:] ?# print name

return name

獲取文件所在的目錄名稱作為頁(yè)簽值:

與獲取博客名稱思路略有相似,獲取最后一個(gè)斜杠位置,截掉斜杠之后的內(nèi)容,在獲取一個(gè)最后一個(gè)斜杠位置,假如有則截取斜杠之后的內(nèi)容即是文件所在目錄的名稱:

# 獲得分類文件目錄名稱def getTypeNameByPath(filePath):fileTag = ''# 獲取最后一個(gè)斜杠位置index = filePath.rfind('/')# 找不到則返回 -1if index != -1: ? ?# 截取斜杠后面到結(jié)尾內(nèi)容

fileTag = filePath[:index] ? ?# 截掉前面部分

index = fileTag.rfind('/') ? ?if index != -1:

fileTag = fileTag[index+1:]# print fileTagreturn fileTag

向文件中插入內(nèi)容:

調(diào)用以上方法即可分別得到我們想要的信息:

# 指定目錄path = './'# 得到文件列表files = getFileList(path,'.md') ?

for i in files: ?print 'title: '+getFileSimpleName((i.decode("string_escape"))) ?print 'date: '+get_FileCreateTime((path+i.decode("string_escape"))) ?print 'tags: ['+getTypeNameByPath((i.decode("string_escape")))+']'

接下來(lái)要做的就是把這些內(nèi)容按照格式插入到文件中去,當(dāng)然插入之前需要先檢查文件中是否已經(jīng)插入過(guò)類似的內(nèi)容了,可以簡(jiǎn)單地通過(guò)檢查開頭 40 個(gè)字符串中是否包含這個(gè)字符串來(lái)判別:

'''---

title: '''

關(guān)于展示分隔符?!--more--?插入的位置,大致邏輯是:第一個(gè)標(biāo)題后面,而且剛好插入在第二個(gè)標(biāo)題之前即可,而使用 Markdown 語(yǔ)法撰寫的博客標(biāo)題使用?#?來(lái)表示的,最終的插入方法如下:

# 向文件中插入指定數(shù)據(jù)def addHeadToFile(filePath,title,date,tags):file = open(filePath,"r")

content = file.read()

index = content[:40].find('''---

title:''')# 添加if index == -1: ? ?print 'Undadded'

addContent = '''---

title: '''+title+'''

date: '''+date+'''

tags: ['''+tags+''']

categories: '''+tags+'''

hr /

'''

# 檢測(cè)是否插入部分顯示標(biāo)簽

content = addContent + content

index = content.find('''!--more-- ''') ? ?if index == -1: ? ? ? ?# 獲取第一段的位置

index = content.find('''### ''') ? ? ? ?if index != -1: ? ? ? ? ? ?#print "first ### pos = ",index

# 下一個(gè)標(biāo)題位置(在第二個(gè)標(biāo)題之前插入即可)

pos = content[index:].find('''

#''',1) ? ? ? ? ? ?if pos != -1:

index += pos ? ? ? ? ? ? ? ?#print "second enter pos = ",index

content = content[:index]+'''

!--more--

'''+content[index:]

file = open(filePath,"w")

file.write(content)else: ? ?#print 'file head had added'# 記得要關(guān)閉文件file.close()

最后完整的調(diào)用過(guò)程:

# 指定目錄path = './'# 得到文件列表files = getFileList(path,'.md') ?

# 聲明一些全局變量title = ''date = ''tags = ''for i in files:

title = getFileSimpleName(i.decode("string_escape"))

date = get_FileCreateTime(path+i.decode("string_escape"))

tags = getTypeNameByPath(i.decode("string_escape")) ? ?print 'title: '+title ? ?print 'date: '+date ? ?print 'tags: ['+tags+']'

addHeadToFile(path+i.decode("string_escape"),title,date,tags)

python自動(dòng)化-pdf文檔操作

使用第三方庫(kù)

官方文檔:pymupdf.readthedocs.io/en/latest/

提取圖片的整體邏輯如下:

將每一頁(yè)轉(zhuǎn)換為一張張圖片

安裝pdf2image, github:github.com/Belval/pdf2…

安裝:

使用庫(kù): github.com/2Dou/waterm…

步驟:

1.獲得一個(gè)帶水印pdf文件

1.1在圖片添加水印,圖片插入到word,word保存為pdf

1.2python處理:參考

github.com/2Dou/waterm…

mp.weixin.qq.com/s/_oJA6lbsd…

2.將水印pdf文件合并到源目標(biāo)pdf文件的每一頁(yè)

法1,直接在word,插入文本框,旋轉(zhuǎn),設(shè)置無(wú)邊框,注意設(shè)置背景透明,然后復(fù)制多個(gè)。導(dǎo)出為pdf。

法2,word本身自己的增加水印,設(shè)計(jì)-水印-自定義文字或圖片。缺點(diǎn)是只能是單個(gè)水印。

缺點(diǎn)是水印在內(nèi)容pdf上方,如果設(shè)置過(guò)大,顏色不太透明,會(huì)遮擋內(nèi)容。

解密:并不是破解,而是在已知密碼的情況下解密

作者:秦與商

鏈接:

Python自動(dòng)化測(cè)試框架有哪些?

第一種:Robot Framework

作為最重要的python測(cè)試框架之一,Robot Framework主要被用在測(cè)試驅(qū)動(dòng)類型的開發(fā)與驗(yàn)收中。雖然由python開發(fā)而來(lái),但是它也可以在基于.net的Ironpython和基于Java的Jython上運(yùn)行。同時(shí),作為一個(gè)python框架,Robot還能夠兼容諸如Windows、MacOS、Linux等平臺(tái)。

在使用Robot Framework之前,需要先安裝python2.7.14及以上版本,在這里推薦大家使用python3.6.4,以確保適當(dāng)?shù)淖⒔饽軌虮惶砑拥酱a段中,并能夠跟蹤程序的更改,同時(shí),您還需要安裝python包管理器--pip。

第二種:Pytest

適用于多種軟件測(cè)試的Pytest,是另一個(gè)python類型的自動(dòng)化測(cè)試框架。憑借著開源和易學(xué)的特點(diǎn),該工具經(jīng)常被QA團(tuán)體、開發(fā)團(tuán)體、個(gè)人團(tuán)體以及各種開源項(xiàng)目所使用。鑒于Pytest具有斷言重寫之類的實(shí)用功能,許多大型互聯(lián)網(wǎng)應(yīng)用,如Dropbox、Mozilla,都已經(jīng)從下面將要提到的unittest切換到了Pytest之上。

除了基本的python知識(shí),用戶并不需要更多的技術(shù)儲(chǔ)備。另外,用戶只需要有一臺(tái)帶有命令行界面的測(cè)試設(shè)備,并且安裝好了python包管理器以及可用于開發(fā)的IDE工具。

第三種:UnitTest/PyUnit

受到Junit啟發(fā)的UnitTest/PyUnit,也是一種標(biāo)準(zhǔn)化的針對(duì)單元測(cè)試的python類自動(dòng)化測(cè)試框架。它的基類TestCase提供了各種斷言方法、以及所有清理和設(shè)置的例程。因此,TestCase子類中的每一種方法都是以test作為名詞點(diǎn)綴,以標(biāo)識(shí)它們能夠被作為測(cè)試用例所運(yùn)行。用戶可以使用load方法和TestSuite類來(lái)分組、并加載各種測(cè)試。當(dāng)然,也可以通過(guò)聯(lián)合使用,來(lái)構(gòu)建自定義的測(cè)試運(yùn)行器。正如我們使用Junit去測(cè)試Selenium那樣,UnitTest也會(huì)用到unittest-sml-reporting,并能生成各種XML類型的報(bào)告。

第四種:Behave

行為驅(qū)動(dòng)開發(fā)是一種基于敏捷軟件開發(fā)的方法。它能夠鼓勵(lì)開發(fā)人員、業(yè)務(wù)參與者和QA人員,三者之間的協(xié)作。python測(cè)試框架Behave允許團(tuán)隊(duì)避開各種復(fù)雜的情況,去執(zhí)行BDD測(cè)試。從本質(zhì)上說(shuō)該框架與SpecFlow和Cucumber相似,常被用于執(zhí)行自動(dòng)化測(cè)試。用戶可以通過(guò)簡(jiǎn)單易讀的語(yǔ)言來(lái)編寫測(cè)試用例,并能夠在其執(zhí)行期間粘貼到代碼之中。而且,那些被設(shè)定的行為規(guī)范與步驟,也可以被重用到其他的測(cè)試方案中。

第五種:Lettuce

Lettuce是另一種基于Cucumber和python的行為驅(qū)動(dòng)類自動(dòng)化工具。Lettuce主要專注于那些具有行為驅(qū)動(dòng)開發(fā)特性的普通任務(wù)。它不但簡(jiǎn)單易用,而且能夠使得整個(gè)測(cè)試過(guò)程更流暢、甚至更有趣。

您需要安裝帶有IDE的python2.7.14及以上版本。當(dāng)然,您也可以使用pycharm或任何其他IDE工具。同時(shí),您還需要安裝python包管理器。

網(wǎng)站題目:python函數(shù)自動(dòng)化,python怎么做自動(dòng)化
轉(zhuǎn)載來(lái)源:http://sd-ha.com/article40/phhgeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)站維護(hù)、域名注冊(cè)網(wǎng)站建設(shè)、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司