python第三方庫(kù)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è)占位符,通常代表要輸出的密碼。不過(guò),請(qǐng)注意,直接在命令行中輸出密碼(尤其是使用 echo)是不安全的,因?yàn)檫@會(huì)將密碼暴露在命令歷史中,也可能被其他用戶(hù)在進(jìn)程列表中看到。
2. |:
管道操作符。它的作用是將前一個(gè)命令的輸出作為下一個(gè)命令的輸入。
3. adb shell ls /log:
adb 是 Android Debug Bridge 的縮寫(xiě),它是一個(gè)命令行工具,允許你與 Android 設(shè)備進(jìn)行通信。
shell 命令告訴 adb 在 Android 設(shè)備上執(zhí)行一個(gè) shell 命令。
ls /log 是一個(gè) shell 命令,用于列出 /log 目錄下的文件和目錄。在許多 Android 設(shè)備上,這是一個(gè)包含系統(tǒng)日志文件的目錄。
組合起來(lái),這個(gè)命令的意圖是:輸出密碼,然后將這個(gè)輸出作為 adb shell ls /log 的輸入。但實(shí)際上,這個(gè)命令可能不會(huì)按照預(yù)期工作,因?yàn)?adb shell ls /log 不期望從管道接收密碼作為輸入。而且,如前所述,直接在命令行中輸出密碼是不安全的。
二. 萬(wàn)能python三方庫(kù)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ì)算庫(kù)應(yīng)用場(chǎng)景示例
- 探索Python庫(kù)coconut輕松地編寫(xiě)函數(shù)式代碼實(shí)例
- python庫(kù)ggpy安裝使用實(shí)例(散點(diǎn)圖創(chuàng)建)
- Python?mistune庫(kù)靈活的Markdown解析器使用實(shí)例探索
- 盤(pán)點(diǎn)20個(gè)Python數(shù)據(jù)科學(xué)庫(kù)神器打造數(shù)據(jù)魔法世界
- Python?SQLAlchemy與數(shù)據(jù)庫(kù)交互操作完整指南
- Python庫(kù)Gym開(kāi)發(fā)和比較強(qiáng)化學(xué)習(xí)算法使用探究
相關(guān)文章
Python實(shí)現(xiàn)服務(wù)端渲染SSR的示例代碼
服務(wù)端渲染是一種常見(jiàn)的技術(shù)策略,特別是在需要改善網(wǎng)站的搜索引擎優(yōu)化(SEO)和首屏加載時(shí)間的場(chǎng)景下,本文將介紹如何利用?Python?實(shí)現(xiàn)?SSR,感興趣的可以了解下2024-02-02
Tensorflow tf.tile()的用法實(shí)例分析
這篇文章主要介紹了Tensorflow tf.tile()的用法實(shí)例分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
python中數(shù)組array和列表list的基本用法及區(qū)別解析
大家都知道數(shù)組array是同類(lèi)型數(shù)據(jù)的有限集合,列表list是一系列按特定順序排列的元素組成,可以將任何數(shù)據(jù)放入列表,且其中元素之間沒(méi)有任何關(guān)系,本文介紹python中數(shù)組array和列表list的基本用法及區(qū)別,感興趣的朋友一起看看吧2022-05-05
Python實(shí)現(xiàn)的求解最大公約數(shù)算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的求解最大公約數(shù)算法,涉及Python數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
Python使用QQ郵箱發(fā)送郵件實(shí)例與QQ郵箱設(shè)置詳解
這篇文章主要介紹了Python發(fā)送QQ郵件實(shí)例與QQ郵箱設(shè)置詳解,需要的朋友可以參考下2020-02-02
Python中日志模塊logging的最佳實(shí)踐指南
新手常犯的錯(cuò)誤是用print()代替日志記錄,當(dāng)項(xiàng)目規(guī)模擴(kuò)大后,這種做法的弊端立刻顯現(xiàn),下面小編就和大家詳細(xì)講講Python中日志模塊logging的具體實(shí)踐吧2025-12-12
使用Async IO在Python中進(jìn)行異步編程的步驟詳解
許多程序員都熟悉編寫(xiě)順序(同步)代碼,在異步世界中,事件的發(fā)生獨(dú)立于主程序流程,異步編程范例有助于并發(fā)執(zhí)行這些任務(wù),并確保您可以克服等待時(shí)間并更有效地使用資源,本文給大家介紹了使用Async IO在Python中進(jìn)行異步編程,需要的朋友可以參考下2023-11-11
Python中subprocess介紹及如何使用詳細(xì)講解
在實(shí)際開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到需要從Python腳本中調(diào)用外部程序或腳本的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于Python中subprocess介紹及如何使用詳細(xì)講解的相關(guān)資料,需要的朋友可以參考下2024-09-09
python怎么對(duì)數(shù)字進(jìn)行過(guò)濾
在本篇內(nèi)容中小編給大家整理的是關(guān)于python怎么對(duì)數(shù)字進(jìn)行過(guò)濾的實(shí)例方法內(nèi)容,需要的朋友們可以參考下。2020-07-07

