最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python內(nèi)置庫(kù)實(shí)現(xiàn)創(chuàng)建命令行應(yīng)用程序

 更新時(shí)間:2022年06月07日 08:17:53   作者:MousevsPython  
Python?有一個(gè)叫做argparse的內(nèi)置庫(kù),可以用它來(lái)創(chuàng)建一個(gè)命令行界面。本文將詳解如何利用argparse實(shí)現(xiàn)創(chuàng)建一個(gè)命令行應(yīng)用程序,需要的可以參考一下

介紹

當(dāng)創(chuàng)建一個(gè)應(yīng)用程序時(shí),通常希望能夠告訴你的應(yīng)用程序如何做某事。有兩種流行的方法來(lái)完成這項(xiàng)任務(wù),你可以讓應(yīng)用程序接受命令行參數(shù),或者創(chuàng)建一個(gè)圖形化的用戶接口。有些應(yīng)用程序兩者都支持。

當(dāng)你需要在服務(wù)器上運(yùn)行你的代碼時(shí),命令行接口很有幫助。大多數(shù)服務(wù)器沒有圖形化界面,特別當(dāng)它們是Linux服務(wù)器時(shí)。在這種情況下,即使你想運(yùn)行圖形用戶界面,你也可能無(wú)法運(yùn)行。

Python 有一個(gè)叫做 argparse 的內(nèi)置庫(kù),可以用它來(lái)創(chuàng)建一個(gè)命令行界面。在這篇文章中,你將了解到以下內(nèi)容。

  • 解析實(shí)參
  • 創(chuàng)建有用的信息
  • 添加別名
  • 使用相互排斥的參數(shù)
  • 創(chuàng)建一個(gè)簡(jiǎn)單的搜索工具

argparse模塊的內(nèi)容比本文要介紹的多得多。如果你想知道更多關(guān)于它的信息,你可以查看文檔。

現(xiàn)在是時(shí)候開始從命令行中解析參數(shù)了。

解析參數(shù)

在學(xué)習(xí)如何使用 argparse 之前,最好知道還有一種方法可以向 Python 腳本傳遞參數(shù)。你可以向 Python 腳本傳遞任何參數(shù),并通過(guò)使用 sys 模塊訪問(wèn)這些參數(shù)。

為了了解它是如何工作的,創(chuàng)建一個(gè)名為 sys_args.py 的文件,并在其中輸入以下代碼:

# sys_args.py
   import sys
   def main():
       print('You passed the following arguments:')
       print(sys.argv)
   if __name__ == '__main__':
       main()

這段代碼導(dǎo)入sys并打印出sys.argv中的任何內(nèi)容。argv屬性包含了所有傳遞給腳本的東西的列表,其中第一項(xiàng)是腳本本身。

下面是一個(gè)例子,說(shuō)明當(dāng)你運(yùn)行這段代碼和幾個(gè)參數(shù)的時(shí)候會(huì)發(fā)生什么。

$ python3 sys_args.py --s 45
   You passed the following arguments:
   ['sys_args.py', '--s', '45']

使用sys.argv的問(wèn)題是,你無(wú)法控制可以傳遞給你的應(yīng)用程序的參數(shù)。

  • 不能忽略參數(shù)
  • 不能創(chuàng)建默認(rèn)參數(shù)
  • 無(wú)法判斷什么是有效參數(shù)

這就是為什么使用 argparse 是使用 Python 標(biāo)準(zhǔn)庫(kù)的方法。argparse 模塊是非常強(qiáng)大和有用的。讓我們想一想,一個(gè)命令行應(yīng)用程序所遵循的常見過(guò)程。

  • pass:傳入一個(gè)文件
  • do:在你的程序中對(duì)該文件做一些處理
  • output :輸出結(jié)果

下面是一個(gè)關(guān)于如何工作的通用例子。繼續(xù)創(chuàng)建file_parser.py并添加以下代碼。

# file_parser.py
   import argparse
   def file_parser(input_file, output_file=''):
       print(f'Processing {input_file}')
       print('Finished processing')
       if output_file:
           print(f'Creating {output_file}')
   def main():
       parser = argparse.ArgumentParser('File parser')
       parser.add_argument('--infile', help='Input file')
       parser.add_argument('--out', help='Output file')
       args = parser.parse_args()
       if args.infile:
           file_parser(args.infile, args.out)
   if __name__ == '__main__':
       main()

file_parser()函數(shù)是進(jìn)行解析的邏輯所在。在這個(gè)例子中,它只接收一個(gè)文件名,并將其打印出來(lái)。output_file參數(shù)的默認(rèn)值是一個(gè)空字符串。

程序的重點(diǎn)在 main()中。在這里你創(chuàng)建了一個(gè) argparse.ArgumentParser()的實(shí)例,并給你的解析器起了一個(gè)名字。然后你添加兩個(gè)參數(shù), --infile和 --out。為了使用這個(gè)解析器,你需要調(diào)用 parse_args(),它將返回傳遞給你的程序的任何有效參數(shù)。最后,你要檢查用戶是否使用了 --infile 標(biāo)志。如果他們使用了,那么你就運(yùn)行 file_parser()。

下面是你如何在你的終端中運(yùn)行代碼。

$ python file_parser.py --infile something.txt
   Processing something.txt
   Finished processing

在這里,你用 --infile標(biāo)志和一個(gè)文件名來(lái)運(yùn)行你的腳本。這將運(yùn)行 main(),然后調(diào)用 file_parser()。

下一步是使用你在代碼中聲明的兩個(gè)命令行參數(shù)嘗試運(yùn)行你的應(yīng)用程序。

$ python file_parser.py --infile something.txt --out output.txt
   Processing something.txt
   Finished processing
   Creating output.txt

這一次,你得到了一個(gè)額外的輸出行,提到了輸出文件名。這代表你的代碼邏輯中的一個(gè)分支。當(dāng)你指定一個(gè)輸出文件時(shí),你可以讓你的代碼通過(guò)使用一個(gè)新的代碼塊或一個(gè)函數(shù)來(lái)生成該文件。如果你不指定一個(gè)輸出文件,那么那個(gè)代碼塊就不會(huì)運(yùn)行。

當(dāng)你使用argparse創(chuàng)建你的命令行工具時(shí),你可以很容易地添加信息,當(dāng)你的用戶不確定如何正確地與你的程序互動(dòng)時(shí),可以幫助他們。

現(xiàn)在是時(shí)候找出如何從你的應(yīng)用程序中獲得幫助了

創(chuàng)建幫助信息

argparse庫(kù)將使用你在創(chuàng)建每個(gè)參數(shù)時(shí)提供的信息,自動(dòng)為你的應(yīng)用程序創(chuàng)建一個(gè)有用的信息。這里是代碼:

# file_parser.py
   import argparse
   def file_parser(input_file, output_file=''):
       print(f'Processing {input_file}')
       print('Finished processing')
       if output_file:
           print(f'Creating {output_file}')
   def main():
       parser = argparse.ArgumentParser('File parser')
       parser.add_argument('--infile', help='Input file')
       parser.add_argument('--out', help='Output file')
       args = parser.parse_args()
       if args.infile:
           file_parser(args.infile, args.out)
   if __name__ == '__main__':
       main()

現(xiàn)在試著用 -h標(biāo)志運(yùn)行這段代碼,你應(yīng)該看到以下內(nèi)容。

$ file_parser.py -h
   usage: File parser [-h] [--infile INFILE] [--out OUT]
   optional arguments:
     -h, --help       show this help message and exit
     --infile INFILE  Input file
     --out OUT        Output file

add_argument()的幫助參數(shù)被用來(lái)創(chuàng)建上面的幫助信息。argparse會(huì)自動(dòng)添加 -h和 -help選項(xiàng)。你可以通過(guò)給它一個(gè)描述和后記來(lái)使你的幫助信息更豐富。

讓我們用它們來(lái)改進(jìn)你的幫助信息。首先,把上面的代碼復(fù)制到一個(gè)新的文件中,命名為 file_parser_with_description.py,然后把它修改成下面的樣子。

# file_parser_with_description.py
   import argparse
   def file_parser(input_file, output_file=''):
       print(f'Processing {input_file}')
       print('Finished processing')
       if output_file:
           print(f'Creating {output_file}')
   def main():
       parser = argparse.ArgumentParser(
               'File parser',
               description='PyParse - The File Processor',
               epilog='Thank you for choosing PyParse!',
               )
       parser.add_argument('--infile', help='Input file for conversion')
       parser.add_argument('--out', help='Converted output file')
       args = parser.parse_args()
       if args.infile:
           file_parser(args.infile, args.out)
   if __name__ == '__main__':
       main()

在這里,把description和epilog參數(shù)傳遞給ArgumentParser。還更新了 add_argument()的幫助參數(shù),使其更具描述性。

在做了這些修改之后,當(dāng)你用 -h或 --help運(yùn)行這個(gè)腳本時(shí),你會(huì)看到以下輸出。

$ python file_parser_with_description.py -h
   usage: File parser [-h] [--infile INFILE] [--out OUT]
   PyParse - The File Processor
   optional arguments:
     -h, --help       show this help message and exit
     --infile INFILE  Input file for conversion
     --out OUT        Converted output file
   Thank you for choosing PyParse!

現(xiàn)在可以在你的幫助輸出中看到新的description 和epilog。這給了你的命令行程序一些額外的修飾。

你也可以通過(guò)ArgumentParser的 add_help參數(shù)在你的應(yīng)用程序中完全禁用幫助。如果你認(rèn)為你的幫助文本過(guò)于冗長(zhǎng),你可以像這樣禁用它。

# file_parser_no_help.py
   import argparse
   def file_parser(input_file, output_file=''):
       print(f'Processing {input_file}')
       print('Finished processing')
       if output_file:
           print(f'Creating {output_file}')
   def main():
       parser = argparse.ArgumentParser(
               'File parser',
               description='PyParse - The File Processor',
               epilog='Thank you for choosing PyParse!',
               add_help=False,
               )
       parser.add_argument('--infile', help='Input file for conversion')
       parser.add_argument('--out', help='Converted output file')
       args = parser.parse_args()
       if args.infile:
           file_parser(args.infile, args.out)
   if __name__ == '__main__':
       main()

通過(guò)將 add_help設(shè)置為 False,你將禁用 -h和 --help標(biāo)志。

你可以看到下面的演示。

$ python file_parser_no_help.py --help
   usage: File parser [--infile INFILE] [--out OUT]
   File parser: error: unrecognized arguments: --help

在下一節(jié)中,你將學(xué)習(xí)如何為你的參數(shù)添加別名!

添加別名

別名是一個(gè)花哨的詞,指的是使用一個(gè)替代的標(biāo)志來(lái)做同樣的事情。例如,你知道你可以使用 -h和 --help來(lái)訪問(wèn)程序的幫助信息。-h是 --help的別名,反之亦然。

看看 main()里面的 parser.add_argument()方法有什么變化。

# file_parser_aliases.py
   import argparse
   def file_parser(input_file, output_file=''):
       print(f'Processing {input_file}')
       print('Finished processing')
       if output_file:
           print(f'Creating {output_file}')
   def main():
       parser = argparse.ArgumentParser(
               'File parser',
               description='PyParse - The File Processor',
               epilog='Thank you for choosing PyParse!',
               add_help=False,
               )
       parser.add_argument('-i', '--infile', help='Input file for conversion')
       parser.add_argument('-o', '--out', help='Converted output file')
       args = parser.parse_args()
       if args.infile:
           file_parser(args.infile, args.out)
   if __name__ == '__main__':
       main()

這里你改變了第一個(gè) add_argument(),除了接受 -infile之外,還接受了 -i,你還在第二個(gè) add_argument()中加入了 -o。這樣就可以使用兩個(gè)新的快捷標(biāo)志來(lái)運(yùn)行你的代碼。

下面是一個(gè)例子。

$ python3 file_parser_aliases.py -i something.txt -o output.txt
   Processing something.txt
   Finished processing
   Creating output.txt

如果你去看argparse文檔,你會(huì)發(fā)現(xiàn)也可以給子解析器添加別名。子解析器是一種在你的應(yīng)用程序中創(chuàng)建子命令的方法,這樣它就可以做其他事情。一個(gè)很好的例子是Docker,一個(gè)虛擬化或容器應(yīng)用程序。它有一系列的命令,你可以在docker下運(yùn)行,以及docker compose等等。這些命令中的每一個(gè)都有獨(dú)立的子命令,你都可以使用。

下面是一個(gè)典型的docker命令,用于運(yùn)行一個(gè)容器。

docker exec -it container_name bash

這將用docker啟動(dòng)一個(gè)容器。而如果你要使用docker compose,你將使用一組不同的命令。exec和compose是subparsers的例子。

使用相互排斥的參數(shù)

有時(shí)你需要讓你的應(yīng)用程序接受一些參數(shù),但不接受其他參數(shù)。例如,你可能想限制你的應(yīng)用程序,使它只能創(chuàng)建或刪除文件,而不是同時(shí)創(chuàng)建和刪除。

argparse模塊提供了 add_mutually_exclusive_group()方法,它就是這樣做的。

將你的兩個(gè)參數(shù)添加到一個(gè)組對(duì)象中,使其相互排斥,如下面的例子。

# file_parser_exclusive.py
   import argparse
   def file_parser(input_file, output_file=''):
       print(f'Processing {input_file}')
       print('Finished processing')
       if output_file:
           print(f'Creating {output_file}')
   def main():
       parser = argparse.ArgumentParser(
               'File parser',
               description='PyParse - The File Processor',
               epilog='Thank you for choosing PyParse!',
               add_help=False,
               )
       group = parser.add_mutually_exclusive_group()
       group.add_argument('-i', '--infile', help='Input file for conversion')
       group.add_argument('-o', '--out', help='Converted output file')
       args = parser.parse_args()
       if args.infile:
           file_parser(args.infile, args.out)
   if __name__ == '__main__':
       main()

首先,你創(chuàng)建了一個(gè)相互排斥的組。然后,你把 -i和 -o參數(shù)添加到組中,而不是添加到解析器對(duì)象中?,F(xiàn)在這兩個(gè)參數(shù)是互斥的。

下面是當(dāng)你試圖用這兩個(gè)參數(shù)運(yùn)行你的代碼時(shí)發(fā)生的情況。

$ python3 file_parser_exclusive.py -i something.txt -o output.txt
   usage: File parser [-i INFILE | -o OUT]
   File parser: error: argument -o/--out: not allowed with argument -i/--infile

用這兩個(gè)參數(shù)運(yùn)行你的代碼,會(huì)使你的解析器向用戶顯示一條錯(cuò)誤信息,解釋他們做錯(cuò)了什么。

在涵蓋了所有這些與使用argparse有關(guān)的信息之后,你已經(jīng)準(zhǔn)備好應(yīng)用你的新技能來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的搜索工具了

創(chuàng)建一個(gè)簡(jiǎn)單的搜索工具

在開始創(chuàng)建一個(gè)應(yīng)用程序之前,弄清楚你要完成的任務(wù)總是好的。你在本節(jié)中想要建立的應(yīng)用程序應(yīng)該能夠搜索特定文件類型的文件。為了使它更有趣,你可以添加一個(gè)額外的參數(shù),讓你也能選擇性地搜索特定的文件大小。

你可以使用 Python 的 glob 模塊來(lái)搜索文件類型。你可以在這里閱讀關(guān)于這個(gè)模塊的所有信息。

還有一個(gè) fnmatch 模塊,glob 自己也使用它。你現(xiàn)在應(yīng)該使用 glob,因?yàn)樗菀资褂?,但是如果你有興趣寫一些更專業(yè)的東西,那么 fnmatch 可能是你正在尋找的。

然而,由于你希望能夠通過(guò)文件大小來(lái)選擇性地過(guò)濾返回的文件,你可以使用 pathlib,它包括一個(gè)類似 glob 的接口。glob 模塊本身并不提供文件大小的信息。

你可以先創(chuàng)建一個(gè)名為 pysearch.py 的文件并輸入以下代碼。

# pysearch.py
   import argparse
   import pathlib
   def search_folder(path, extension, file_size=None):
       """
       Search folder for files
       """
       folder = pathlib.Path(path)
       files = list(folder.rglob(f'*.{extension}'))
       if not files:
           print(f'No files found with {extension=}')
           return
       if file_size is not None:
           files = [
                   f
                   for f in files
                   if f.stat().st_size >= file_size
                   ]
       print(f'{len(files)} *.{extension} files found:')
       for file_path in files:
           print(file_path)

在上面的代碼片段中,首先導(dǎo)入了argparse和pathlib。接下來(lái),創(chuàng)建了search_folder()函數(shù),它接收了三個(gè)參數(shù)。

  • path - 要搜索的文件夾
  • extension - 要尋找的文件擴(kuò)展名
  • file_size - 要過(guò)濾的文件大小,以字節(jié)為單位。

把路徑變成pathlib.Path對(duì)象,然后使用其rglob()方法在文件夾中搜索用戶傳入的擴(kuò)展名。如果沒有找到文件,就向用戶打印一個(gè)有意義的信息,然后退出。

如果找到了任何文件,就檢查是否已經(jīng)設(shè)置了filesize。如果它被設(shè)置了,就用一個(gè)list comprehension來(lái)過(guò)濾出小于指定的filesize的文件。

接下來(lái),打印出找到的文件的數(shù)量,最后在這些文件上循環(huán),打印出它們的名字。

為了使這一切正常工作,需要?jiǎng)?chuàng)建一個(gè)命令行界面。你可以通過(guò)添加一個(gè)包含argparse代碼的main()函數(shù)來(lái)做到這一點(diǎn),像這樣。

def main():
       parser = argparse.ArgumentParser(
               'PySearch',
               description='PySearch - The Python Powered File Searcher',
               )
       parser.add_argument('-p', '--path',
                           help='The path to search for files',
                           required=True,
                           dest='path')
       parser.add_argument('-e', '--ext',
                           help='The extension to search for',
                           required=True,
                           dest='extension')
       parser.add_argument('-s', '--size',
                           help='The file size to filter on in bytes',
                           type=int,
                           dest='size',
                           default=None)
       args = parser.parse_args()
       search_folder(args.path, args.extension, args.size)
   if __name__ == '__main__':
       main()

這個(gè)ArgumentParser()有三個(gè)參數(shù),與你傳遞給search_folder()的參數(shù)相對(duì)應(yīng)。讓--path和--ext參數(shù)成為必需的,而讓--size參數(shù)成為可選的。注意,--size參數(shù)被設(shè)置為type=int,這意味著你不能把它傳成字符串。

add_argument()函數(shù)有一個(gè)新的參數(shù)。它是dest參數(shù),可以用它來(lái)告訴你的參數(shù)分析器在哪里保存?zhèn)鬟f給它們的參數(shù)。

下面是一個(gè)腳本運(yùn)行的例子。

$ python3 pysearch.py -p /Users/michael/Dropbox/python101code/chapter32_argparse -e py -s 650
   6 *.py files found:
   /Users/michael/Dropbox/python101code/chapter32_argparse/file_parser_aliases2.py
   /Users/michael/Dropbox/python101code/chapter32_argparse/pysearch.py
   /Users/michael/Dropbox/python101code/chapter32_argparse/file_parser_aliases.py
   /Users/michael/Dropbox/python101code/chapter32_argparse/file_parser_with_description.py
   /Users/michael/Dropbox/python101code/chapter32_argparse/file_parser_exclusive.py
   /Users/michael/Dropbox/python101code/chapter32_argparse/file_parser_no_help.py

現(xiàn)在試試用-s和一個(gè)字符串來(lái)運(yùn)行它。

$ python3 pysearch.py -p /Users/michael/Dropbox/python101code/chapter32_argparse -e py -s python
   usage: PySearch [-h] -p PATH -e EXTENSION [-s SIZE]
   PySearch: error: argument -s/--size: invalid int value: 'python'

這次我們收到了一個(gè)錯(cuò)誤,因?yàn)?s和-size只接受整數(shù)。在你自己的機(jī)器上運(yùn)行一下這段代碼,看看當(dāng)你使用-s和整數(shù)時(shí),它是否按你想要的方式工作。

這里有一些想法,你可以用來(lái)改進(jìn)你的代碼版本。

更好地處理擴(kuò)展文件?,F(xiàn)在,它將接受 *.py,這不會(huì)像你期望的那樣工作。

更新代碼,以便你可以一次搜索多個(gè)擴(kuò)展名

更新代碼,以便對(duì)文件大小的范圍進(jìn)行過(guò)濾(例如,1MB-5MB)。

還有很多其他的功能和改進(jìn),你可以添加到這個(gè)代碼中,比如添加錯(cuò)誤處理或單元測(cè)試。

總結(jié)

argparse模塊功能齊全,可以用來(lái)創(chuàng)建龐大、靈活的命令行應(yīng)用程序。在本章中,你了解了以下內(nèi)容。

  • 解析參數(shù)
  • 創(chuàng)建有用的信息
  • 添加別名
  • 使用相互排斥的參數(shù)
  • 創(chuàng)建一個(gè)簡(jiǎn)單的搜索工具

你可以用argparse模塊做更多的事情,不完全包括本章所講的。請(qǐng)務(wù)必查看文檔以了解全部細(xì)節(jié)。

到此這篇關(guān)于利用Python內(nèi)置庫(kù)實(shí)現(xiàn)創(chuàng)建命令行應(yīng)用程序的文章就介紹到這了,更多相關(guān)Python命令行應(yīng)用程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python unittest單元測(cè)試框架及斷言方法

    Python unittest單元測(cè)試框架及斷言方法

    這篇文章主要介紹了Python unittest單元測(cè)試框架及斷言方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 教你用Python腳本快速為iOS10生成圖標(biāo)和截屏

    教你用Python腳本快速為iOS10生成圖標(biāo)和截屏

    這篇文章主要介紹了教你用Python快速為iOS10生成圖標(biāo)和截屏的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • Python編碼時(shí)應(yīng)該注意的幾個(gè)情況

    Python編碼時(shí)應(yīng)該注意的幾個(gè)情況

    對(duì)于Python程序員,你需要注意一下本文所提到的這些事情。你也可以看看Zen of Python(Python之禪),這里面提到了一些注意事項(xiàng),并配以示例,可以幫助你快速提高
    2013-03-03
  • python 爬取學(xué)信網(wǎng)登錄頁(yè)面的例子

    python 爬取學(xué)信網(wǎng)登錄頁(yè)面的例子

    今天小編就為大家分享一篇python 爬取學(xué)信網(wǎng)登錄頁(yè)面的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python venv和virtualenv模塊詳解

    python venv和virtualenv模塊詳解

    venv 是 Python 內(nèi)置標(biāo)準(zhǔn)庫(kù)中創(chuàng)建輕量級(jí)虛擬環(huán)境的工具,本文通過(guò)示例代碼介紹python venv和virtualenv的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • tensorflow 輸出權(quán)重到csv或txt的實(shí)例

    tensorflow 輸出權(quán)重到csv或txt的實(shí)例

    今天小編就為大家分享一篇tensorflow 輸出權(quán)重到csv或txt的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python實(shí)現(xiàn)將MP4視頻轉(zhuǎn)化為GIF圖像

    Python實(shí)現(xiàn)將MP4視頻轉(zhuǎn)化為GIF圖像

    與靜態(tài)圖像相比,動(dòng)態(tài)的?GIF?圖片更能吸引各位讀者的注意力,還可以提供更生動(dòng)、有趣和引人入勝的內(nèi)容,本文為大家介紹了Python將MP4視頻轉(zhuǎn)化為GIF圖像的方法,需要的可以參考下
    2023-06-06
  • Python中將語(yǔ)音轉(zhuǎn)換為文本的實(shí)現(xiàn)方法

    Python中將語(yǔ)音轉(zhuǎn)換為文本的實(shí)現(xiàn)方法

    語(yǔ)音識(shí)別是計(jì)算機(jī)軟件識(shí)別口語(yǔ)中的單詞和短語(yǔ)并將其轉(zhuǎn)換為人類可讀文本的能力,在本教程中,您將學(xué)習(xí)如何使用SpeechRecognition 庫(kù)在 Python 中將語(yǔ)音轉(zhuǎn)換為文本,文中有相關(guān)的代碼供大家參考,需要的朋友可以參考下
    2024-01-01
  • Python urlencode和unquote函數(shù)使用實(shí)例解析

    Python urlencode和unquote函數(shù)使用實(shí)例解析

    這篇文章主要介紹了Python urlencode和unquote函數(shù)使用實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python scatter函數(shù)用法實(shí)例詳解

    python scatter函數(shù)用法實(shí)例詳解

    這篇文章主要介紹了python scatter函數(shù)用法實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評(píng)論

隆尧县| 日照市| 正宁县| 平舆县| 洛隆县| 德阳市| 东阳市| 龙口市| 宁蒗| 界首市| 景宁| 南开区| 西昌市| 当涂县| 宝鸡市| 牡丹江市| 黄骅市| 从化市| 兴安盟| 云安县| 新野县| 翼城县| 曲沃县| 宁蒗| 宁国市| 新兴县| 峨边| 齐齐哈尔市| 南岸区| 阳山县| 丰镇市| 含山县| 昌邑市| 桂平市| 漳州市| 甘谷县| 新晃| 博湖县| 郯城县| 林州市| 达日县|