python tips(2)
1. python Popen的具體解釋是:開啟一個命令或從管道返回值。
從python2.4開始,就可以用subprocess這個模組來產生子程式,並連線到子程式的標準輸入/輸出/錯誤中去,還可以得到子程式的返回值,subprocess意在替代其它幾個老的模組或函式。如,os.system, os.spawn*, os.popen*, popen2.*, commands.*
下面是使用subprocess的例子。
import win32com.client
from subprocess import Popen
import time
shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("notepad")
time.sleep(5)
Popen("taskkill /f /im notepad.exe")
Popen("calc")
time.sleep(5)
Popen("taskkill /f /im calc.exe")
2. python新建程式用os.fork函式,但它只在POSIX系統上可用,在Windows版的python中,os模組沒有定義os.fork函式,相反,Windows程式設計師用多執行緒程式設計技術(multiprocessing)來完成併發任務。
關於python fork:
1)建立管道 2)建立子程式
子程式:
1)需要關閉管道讀端 2)開始執行 3)向寫端寫結果 4)程式死亡
父程式:
1)關閉管道寫端 2)從讀端讀取資料直到子程式死亡或者關閉 3)呼叫waitpid方法確保子程式已經被撤銷(在FreeBSD中不這麼做子程式永遠不會死亡) 4)程式輸出
3. map, reduce, filter的使用例子。
def map_func(lis):
return lis + 1
def reduce_func(li, lis):
return li + lis
def filter_func(lis):
if lis % 2 == 0:
return True
else:
return False
lis = [1, 2, 3, 4, 5]
map_I = map(map_func, lis)
reduce_I = reduce(reduce_func, lis)
filter_I = filter(filter_func, lis)
print map_I
print reduce_I
print filter_I
輸出結果為:
>>>
[2, 3, 4, 5, 6]
15
[2, 4]
>>>
4. python 氣泡排序的兩種方法。
方法一:
array = [1, 2, 5, 3, 6, 8, 4]
for i in range(len(array) - 1, 1, -1):
#print i
for j in range(0, i):
#print j
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
print array
方法二:
array1 = [1, 2, 5, 3, 6, 8, 4]
array1.sort(cmp = None, key = None, reverse = False)
print array1
結果如下:
>>>
[1, 2, 3, 4, 5, 6, 8]
[1, 2, 3, 4, 5, 6, 8]
>>>
5. 巧用python輸出。
array = [1, 2, 5, 3, 6, 8, 4]
# (0, 1, 2, 3, 4, 5, 6)
# (-7,-6,-5,-4,-3,-2,-1)
print array[::2]
print array[2::]
print array[::-1]
print array[0:]
print array[:-1]
print array[3:-3]
結果如下:
>>>
[1, 5, 6, 4]
[5, 3, 6, 8, 4]
[4, 8, 6, 3, 5, 2, 1]
[1, 2, 5, 3, 6, 8, 4]
[1, 2, 5, 3, 6, 8]
[3]
>>>
6. python的函式可以返回多個值,例子如下。
def test(num = 0):
return(num, num + 1)
def hello(num = 0):
if num == 0:
pass
else:
return num + 2
num1, num2 = test(1)
num4 = hello(1)
num3 = hello(0)
print num1, num2
print num3, num4
結果如下:
>>>
1 2
None 3
>>>
7. python遍歷字典元素時字典元素的順序通常沒有定義,換句話說,迭代的時候,字典中的鍵和值都保證被處理,但是處理順序不確定,如果順序很重要的話,可以將鍵值儲存在單獨的列表中,例如迭代前進行排序。
8. cmd命令"netsh wlan export profile"可以讓使用者將一個在Windows圖形使用者介面中建立的無線配置檔案匯出到一個XML檔案中,如此,便可將其匯入到其它計算機中或進行備份。
附:推薦幾本學習Python的書籍,也供備查。
1. Learning Python, O'Reilly, Introduction
2. Pratical Python, APress, 部分實用程式
3. Python Standard Library, Fredrik Lundh, 模組例項
4. Python Cookbook, (第2版)中文版, O'Reilly, 人郵, 進階
相關文章
- Python常用TipsPython
- python tips(5)Python
- python tips(4)Python
- python tips(3)Python
- 2、Flutter Tips - MediaQuery;Flutter
- Gradle Tips#2-語法Gradle
- Tips
- NPM TipsNPM
- AutoLayout Tips
- Tips HTMLHTML
- 前端 - tips前端
- Swift TipsSwift
- NumPy Tips
- Git TipsGit
- note tips
- hector tips
- PB Tips
- Tips for SD
- interview tipsView
- Mysql tipsMySql
- SAP Tips
- English Tips
- Docker TipsDocker
- ISPF tips
- Python Tips 01 : 判斷兩個檔案是否相同Python
- Effective Objective-C 2.0 Tips 總結 Chapter 1 & Chapter 2ObjectAPT
- 雜項 tips
- Tips: EloquentModel
- Linux TipsLinux
- typescript + amd tipsTypeScript
- jQuery tips and tricksjQuery
- 《iOS Tips 一》iOS
- GoldenGate TipsGo
- SELinux tipsLinux
- gulp some tips
- Some tips of Barcelona
- backup and restore tipsREST
- installation tips