python編碼啟動(dòng)cmd批處理文件(.bat文件),用subprocess方法可以將相應(yīng)的cmd輸出獲取到,代碼如下:#import os#os.system
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括武寧網(wǎng)站建設(shè)、武寧網(wǎng)站制作、武寧網(wǎng)頁(yè)制作以及武寧網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,武寧網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到武寧省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
("c:\\sam.bat")import subprocesscmd = 'cmd.exe c:\\sam.bat'p = subprocess.
Popen("cmd.exe /c" + "c:\\sam.bat abc", stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
curline = p.stdout.readline()while(curline != b''):? ? print(curline)urline = p.stdout.readline()
p.wait()print(p.returncode)sam.bat批處理文件代碼:echo Hello world!echo show %1%
擴(kuò)展資料
在批處理.bat文件用通過這樣的語句調(diào)用explorer.exe C:\xxx也可以使用用python的os庫(kù)可以實(shí)現(xiàn)代碼如下:import osos.system(r"explorer.exe C:\\xxx")
即打開c盤的xxx文件夾,針對(duì)你的情況可以將這里改成你對(duì)應(yīng)的路徑os.system(r"explorer.exe \\10.9.40.22\新建文件夾") 就行了。
參考資料;百度百科-命令提示符
os是python自帶的系統(tǒng)模塊,需要import使用
os 源于英文Operating System(操作系統(tǒng))的縮寫
cwd 則是源于Current Working Directory,中文意思是 當(dāng)前工作目錄
所以os.getcwd() 指獲取當(dāng)前工作目錄
示例:
getcwd()方法語法格式如下:
總之,舉例來講,os.getcwd()、sys.path[0] (sys.argv[0])和 file 的區(qū)別是這樣的:
假設(shè)目錄結(jié)構(gòu)是:
然后我們?cè)贑:\test下面執(zhí)行
這時(shí)sub_path.py里面與各種用法對(duì)應(yīng)的值其實(shí)是:
無
path的準(zhǔn)確定位對(duì)于import包,讀寫文件都非常重要,
如果一時(shí)不能理解,可以在文件執(zhí)行開頭多加幾個(gè)
print幫助我們確定那個(gè)路徑是我們希望拿到的,然后將其設(shè)為全局變量就好了
對(duì)基礎(chǔ)運(yùn)行環(huán)境有疑問的,推薦參考: python函數(shù)深入淺出 0.基礎(chǔ)篇
1、定義函數(shù)
函數(shù)是可重用的程序。本書中已經(jīng)使用了許多內(nèi)建函數(shù),如len()函數(shù)和range()函數(shù),但是還沒自定義過函數(shù)。定義函數(shù)的語法格式如下:
def 函數(shù)名(參數(shù)):
函數(shù)體
定義函數(shù)的規(guī)則如下:
①關(guān)鍵字def用來定義一個(gè)函數(shù),它是define的縮寫。
②函數(shù)名是函數(shù)的唯一標(biāo)識(shí),函數(shù)名的命名規(guī)則遵循標(biāo)識(shí)符的命名規(guī)則。
③函數(shù)名后面一定要緊跟著一個(gè)括號(hào),括號(hào)內(nèi)的參數(shù)是可選的,括號(hào)后面要有冒號(hào)。
④函數(shù)體(statement)為一個(gè)或一組Python語句,注意要有縮進(jìn)。
⑤函數(shù)體的第一行可以有文檔字符串,用于描述函數(shù)的功能,用三引號(hào)括起來。
按照定義規(guī)則,可以定義第一個(gè)函數(shù)了:
def?hello_world():
...?????print('Hello,world!')???#?注意函數(shù)體要有縮進(jìn)
...
hello_world()
Hello,world!
這個(gè)函數(shù)不帶任何參數(shù),它的功能是打印出“Hello,world!”。最后一行代碼hello_world()是調(diào)用函數(shù),即讓Python執(zhí)行函數(shù)的代碼。
2、全局變量和局部變量
全局變量是定義在所有函數(shù)外的變量。例如,定義一個(gè)全局變量a,分別在函數(shù)test1()和test2()使用變量a:
a?=?100???#?全局變量
def?test1():
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
100
test2()
100
定義了全局變量a之后,在函數(shù)test1()和test2()內(nèi)都可以使用變量a,由此可知,全局變量的作用范圍是全局。
局部變量是在函數(shù)內(nèi)定義的變量,除了用關(guān)鍵字global修飾的變量以外。例如,在函數(shù)test1()內(nèi)定義一個(gè)局部變量a,分別在函數(shù)外和另一個(gè)函數(shù)test2()內(nèi)使用變量a:
def?test1():
...?????a?=?100???#?局部變量
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
100
print(a)
Traceback?(most?recent?call?last):
File?"stdin",?line?1,?in?module
NameError:?name?'a'?is?not?defined
test2()
Traceback?(most?recent?call?last):
File?"stdin",?line?1,?in?module
File?"stdin",?line?2,?in?test2
NameError:?name?'a'?is?not?defined
Python解釋器提示出錯(cuò)了。由于局部變量a定義在函數(shù)test1()內(nèi),因此,在函數(shù)test1()內(nèi)可以使用變量a,但是在函數(shù)外或者另一個(gè)函數(shù)test2()內(nèi)使用變量a,都會(huì)報(bào)錯(cuò),由此可見,局部變量的作用范圍是定義它的函數(shù)內(nèi)部。
一般情況下,在函數(shù)內(nèi)聲明的變量都是局部變量,但是采用關(guān)鍵字global修飾的變量卻是全局變量:
def?test1():
...?????global?a???#?全局變量
...?????a?=?100
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
100
print(a)
100
test2()
100
這個(gè)程序與上個(gè)程序相比,只是在函數(shù)test1()中多了一行代碼“global a”,程序便可以正確運(yùn)行了。在函數(shù)test1()中,采用關(guān)鍵字global修飾了變量a之后,變量a就變成了全局變量,不僅可以在該函數(shù)內(nèi)使用,還可以在函數(shù)外或者其他函數(shù)內(nèi)使用。
如果在某個(gè)函數(shù)內(nèi)局部變量與全局變量同名,那么在該函數(shù)中局部變量會(huì)覆蓋全局變量:
a?=?100???#?全局變量
def?test1():
...?????a?=?200???#?同名局部變量
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
200
test2()
100
由于在函數(shù)test1()中定義了一個(gè)與全局變量同名的局部變量a,因此,在函數(shù)test1()中全局變量a的值被局部變量覆蓋了,但是在函數(shù)test2()中全局變量a的值沒有被覆蓋。
綜上所述,在Python中,全局變量保存的數(shù)據(jù)供整個(gè)腳本文件使用;而局部變量只用于臨時(shí)保存數(shù)據(jù),變量?jī)H供局部代碼塊使用。
這是在同一文件內(nèi) 申明一個(gè)全局變量,調(diào)用函數(shù)a改變變量的值,調(diào)用函數(shù)b,引用全局變量作為。
在同目錄下有a.py和b.py 在目錄下新建__init__.py文件,此時(shí)這個(gè)目錄的文件就是一個(gè)包,可以import ,直接在需要的地方調(diào)用函數(shù)即可。