這是乙個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收穫。
注意:很多人學python過程中會遇到各種煩惱問題,沒有人解答容易放棄。為此小編建了個python全棧免費答疑.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,不懂的問題有老司機解決裡面還有最新python實戰教程免非下,,一起相互監督共同進步!
示例程式:
#!/usr/bin/env python
# coding=utf8
import itertools
for p in itertools.permutations('abc', 2):
print p
'''('a', 'b')
('a', 'c')
('b', 'a')
('b', 'c')
('c', 'a')
('c', 'b')
'''for c in itertools.combinations('abc', 2):
print c
'''('a', 'b')
('a', 'c')
('b', 'c')
'''
通過itertools模組,可以很方便實現元素的排列和組合。由示例中可以看到,分別從abc三個字母中取2個字母,實現其排列和組合,itertools模組還有很多有用功能,感興趣可以看看。
示例程式:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tempfile
temp_file = tempfile.namedtemporaryfile()
print 'temp file name: <>\n'.format(self=temp_file)
with open(temp_file.name, 'w') as f:
f.write("line 1\nline 2\nline 3\n")
with open(temp_file.name) as f:
for line in f.readlines():
print line
執行示例:
$ python tmp_file_demo.py
temp file name:
line 1
line 2
line 3
$ ls /tmp/tmpvsppea
ls: cannot access /tmp/tmpvsppea: no such file or directory
借助tempfile模組,可以很方便的操作臨時檔案。由示例中可以看到,建立的臨時檔案/tmp/tmpvsppea在使用完畢後會自動刪除,不需要手動刪除該檔案,tempfile模組還有很多有用功能,感興趣可以看看。
示例程式:
#!/usr/bin/env python
# coding=utf8
from __future__ import print_function
import sys
def eprint(*args, **kwargs):
print(*args, file=sys.stderr, **kwargs)
eprint("print to stderr")
print("print to stdout")
'''print to stderr
print to stdout
'''
執行示例:
$ python print_stderr.py
print to stderr
print to stdout
$ python print_stderr.py > /tmp/stdout.log
print to stderr
$ python print_stderr.py 2> /tmp/stderr.log
print to stdout
$ python print_stderr.py > /tmp/stdout_and_stderr.log 2>&1
$ cat /tmp/stdout.log
print to stdout
$ cat /tmp/stderr.log
print to stderr
$ cat /tmp/stdout_and_stderr.log
print to stderr
print to stdout
通過匯入__future__
模組的print_function,將print函式改造成python3的print,就可以實現將輸出列印到標準錯誤。由示例中可以看到,通過封裝乙個新的函式eprint,實現類似print的列印功能,唯一區別就是eprint函式將輸出列印到標準錯誤,而不是標準輸出。
總結注意:很多人學python過程中會遇到各種煩惱問題,沒有人解答容易放棄。為此小編建了個python全棧免費答疑.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,不懂的問題有老司機解決裡面還有最新python實戰教程免非下,,一起相互監督共同進步!
超級無敵簡單題
題目鏈結 通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。鴿子數字由以下過程定義 從任何正整數開始,將數字替換為其各個數字的平方和,並重複該過程,直到該數字...
超級無敵簡單題
problem description 通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。通常來說,題面短的題目一般都比較難,所以我要把題面寫得很長很長。鴿子數字由以下過程定義 從任何正整數開始,將數字替換為其各個數字的平...
python技巧分享(十一)
這是乙個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收穫。my iter iter my list for e in my iter print e,next my iter 1 banana 2 grape 3 pear 借助iter函式,傳入list生成乙個迭代器,...