2016年2月27日 星期六

[Python]Python用os模組來使用Linux的Shell命令

首先 import os

os.system("echo hello world") #在Linux中會從python呼叫一個系統command
依此類推 我們可以下cp、mkdir等等command去自動化對做一些Linux的事情.

subprocess 使用子程序來並行執行一些工作
from subprocess import call
call(["ls", "-l"])

.popen.read()函式可以指定送出的command並將讀回的訊息倒入另一個容器裡,
os.popen('ls -al').read()

===============================================
呼叫.bat檔及呼叫另一個.py檔的實例應用

Python呼叫.bat檔
os.system('xx.bat 参数1 参数2...') 

Python呼叫.py檔
os.system('python xx.py 参数1 参数2...') 



.bat呼叫執行Python .py

轉仔自:好寂寞先生

@echo off  
D:  
cd D:\Python35\CODE  
start python main.py  
exit  

若使用pythonw.exe 則在執行時不會出現DOS窗口
@echo off 
D: 
cd D:\Python35\CODE
start pythonw main.py 
exit 
注意:
使用pythonw.exe 執行時所有stdin和stdout都無效
使用pythonw.exe 執行時從原有的sdtin只會得到EOF
以下是PTT一小範例:
rem = """
@echo off
rem -------------------- DOS section --------------------
rem You could set PYTHONPATH or TK environment variables here
python "%~f0" %*
goto exit
"""
############### Start of Python code ###############

# 把 Python 程式碼寫在這個黃色區域

############### End of Python code ###############
DosExitLabel = """
:exit
pause
exit
rem """

1 則留言:

  1. 請問您有遇過"在.bat裡面插入Python的程式碼,而Python程式碼是UTF-8"的編碼格式嗎?

    回覆刪除