python第三方庫subprocess執(zhí)行cmd同時(shí)輸入密碼獲取參數(shù)
python subprocess執(zhí)行cmd同時(shí)輸入密碼獲取參數(shù)
一:手動(dòng)輸入cmd命令
我們?cè)賵?zhí)行命令時(shí)需要同時(shí)傳入密碼或其他參數(shù)的時(shí)候,我們可以使用
echo {password} | adb shell ls /log'
這個(gè)命令是一個(gè)組合的命令,涉及到 echo、管道 | 和 adb shell ls /log。下面我會(huì)逐一解釋每個(gè)部分:
1. echo {password}:
echo 是一個(gè)常用的命令行工具,用于輸出一個(gè)字符串或變量的內(nèi)容。
{password} 是一個(gè)占位符,通常代表要輸出的密碼。不過,請(qǐng)注意,直接在命令行中輸出密碼(尤其是使用 echo)是不安全的,因?yàn)檫@會(huì)將密碼暴露在命令歷史中,也可能被其他用戶在進(jìn)程列表中看到。
2. |:
管道操作符。它的作用是將前一個(gè)命令的輸出作為下一個(gè)命令的輸入。
3. adb shell ls /log:
adb 是 Android Debug Bridge 的縮寫,它是一個(gè)命令行工具,允許你與 Android 設(shè)備進(jìn)行通信。
shell 命令告訴 adb 在 Android 設(shè)備上執(zhí)行一個(gè) shell 命令。
ls /log 是一個(gè) shell 命令,用于列出 /log 目錄下的文件和目錄。在許多 Android 設(shè)備上,這是一個(gè)包含系統(tǒng)日志文件的目錄。
組合起來,這個(gè)命令的意圖是:輸出密碼,然后將這個(gè)輸出作為 adb shell ls /log 的輸入。但實(shí)際上,這個(gè)命令可能不會(huì)按照預(yù)期工作,因?yàn)?adb shell ls /log 不期望從管道接收密碼作為輸入。而且,如前所述,直接在命令行中輸出密碼是不安全的。
二. 萬能python三方庫subprocess
def subprocess_run( cmd, cmd_input=None): """ 執(zhí)行 cmd 命令 """ if cmd_input is not None: # 創(chuàng)建子進(jìn)程并執(zhí)行命令 p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) input_context = '{}\n'.format(cmd_input).encode('utf-8') p.stdin.write(input_context) # 獲取命令執(zhí)行結(jié)果 output, error = p.communicate() # 使用sub函數(shù)去除命令行返回的命令符 clean_output = re.sub(r'\x1b\[.*?m', '', output.decode('utf-8')) return clean_output else: process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = process.communicate() return stdout.decode(), stderr.decode()
到此這篇關(guān)于python subprocess執(zhí)行cmd同時(shí)輸入密碼獲取參數(shù)的文章就介紹到這了,更多相關(guān)python subprocess執(zhí)行cmd內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 探索python?dask靈活的并行計(jì)算庫應(yīng)用場(chǎng)景示例
- 探索Python庫coconut輕松地編寫函數(shù)式代碼實(shí)例
- python庫ggpy安裝使用實(shí)例(散點(diǎn)圖創(chuàng)建)
- Python?mistune庫靈活的Markdown解析器使用實(shí)例探索
- 盤點(diǎn)20個(gè)Python數(shù)據(jù)科學(xué)庫神器打造數(shù)據(jù)魔法世界
- Python?SQLAlchemy與數(shù)據(jù)庫交互操作完整指南
- Python庫Gym開發(fā)和比較強(qiáng)化學(xué)習(xí)算法使用探究
相關(guān)文章
Pandas讀取excel合并單元格的正確方式(openpyxl合并單元格拆分并填充內(nèi)容)
Excel文件中可能包含合并單元格的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Pandas讀取excel合并單元格的正確方式,主要介紹的openpyxl合并單元格拆分并填充內(nèi)容,需要的朋友可以參考下2023-06-06學(xué)習(xí)python中matplotlib繪圖設(shè)置坐標(biāo)軸刻度、文本
本篇文章給大家詳細(xì)介紹了python中matplotlib繪圖設(shè)置坐標(biāo)軸刻度、文本等基本知識(shí)點(diǎn),對(duì)此有興趣的朋友學(xué)習(xí)下吧。2018-02-02Django中URL的參數(shù)傳遞的實(shí)現(xiàn)
這篇文章主要介紹了Django中URL的參數(shù)傳遞的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Python實(shí)現(xiàn)獲取當(dāng)前日期的所屬信息
在Python中,處理日期和時(shí)間是一個(gè)常見的任務(wù),它涉及到許多方面,例如獲取日期的年、月、日、星期幾等等,本文將詳細(xì)介紹如何使用Python來獲取當(dāng)前日期的各種相關(guān)信息,需要的可以了解下2024-01-01Python實(shí)現(xiàn)的網(wǎng)頁截圖功能【PyQt4與selenium組件】
這篇文章主要介紹了Python實(shí)現(xiàn)的網(wǎng)頁截圖功能,結(jié)合實(shí)例形式分別描述了使用PyQt4組件與selenium組件進(jìn)行網(wǎng)頁截圖操作的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-07-07Python實(shí)現(xiàn)經(jīng)典算法拓?fù)渑判颉⒆址ヅ渌惴ê妥钚∩蓸鋵?shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)經(jīng)典算法拓?fù)渑判?、字符串匹配算法和最小生成樹?shí)例,拓?fù)渑判?、字符串匹配算法和最小生成樹是?jì)算機(jī)科學(xué)中常用的數(shù)據(jù)結(jié)構(gòu)和算法,它們?cè)诮鉀Q各種實(shí)際問題中具有重要的應(yīng)用價(jià)值,需要的朋友可以參考下2023-08-08Scrapy框架基本命令與settings.py設(shè)置
這篇文章主要介紹了Scrapy框架基本命令與settings.py設(shè)置,結(jié)合實(shí)例形式分析了創(chuàng)建爬蟲項(xiàng)目、創(chuàng)建爬蟲文件、存儲(chǔ)、打開網(wǎng)頁及settings.py設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下2020-02-02Python被遠(yuǎn)程主機(jī)強(qiáng)制關(guān)閉后自動(dòng)重新運(yùn)行進(jìn)程的示例
要實(shí)現(xiàn)Python程序在被遠(yuǎn)程主機(jī)強(qiáng)制關(guān)閉后能夠自動(dòng)重新運(yùn)行,我們可以采用幾種方法,但最直接且常用的方法之一是結(jié)合操作系統(tǒng)級(jí)的工具或腳本,這篇文章主要介紹了Python被遠(yuǎn)程主機(jī)強(qiáng)制關(guān)閉后怎么自動(dòng)重新運(yùn)行進(jìn)程,需要的朋友可以參考下2024-08-08解決Python報(bào)錯(cuò)問題[SSL:?SSLV3_ALERT_HANDSHAKE_FAILURE]
這篇文章主要介紹了解決Python報(bào)錯(cuò)問題[SSL:?SSLV3_ALERT_HANDSHAKE_FAILURE],具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07