這是一個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收穫。
1 獲取文件絕對路徑
#!/usr/bin/python
# coding=utf-8
import os
absolute_path = os.path.realpath(__file__)
print absolute_path
運行示例代碼輸出如下:
$ ./python-tips-17.py
/git/python_practice/demo/python-tips-17.py
由示例中可以看到,輸出文件的絕對路徑。
2 修改進程名字
#!/usr/bin/python
# coding=utf-8
import time
import setproctitle
import multiprocessing
def test_process():
p = multiprocessing.current_process()
setproctitle.setproctitle(p.name)
print 'starting process name <{}>, pid <{}>'.format(p.name, p.pid)
time.sleep(100)
if __name__ == '__main__':
p = multiprocessing.Process(
name='test_process',
target=test_process,
)
p.daemon = False
p.start()
time.sleep(100)
運行示例代碼輸出如下:
$ ./python-tips-17.py
starting process name <test_process>, pid <4281>
在另外一個終端查看進程名爲test_process,如下:
$ ps -ef | grep [4]281
root 4281 4280 0 17:04 pts/20 00:00:00 test_process
如果註釋掉setproctitle.setproctitle(p.name),運行示例如下:
$ ./python-tips-17.py
starting process name <test_process>, pid <4700>
在另一個終端查看進程名字,可以看到進程名字是/usr/bin/python ./python-tips-17.py,而不是設置的test_process。
$ ps -ef | grep [4]700
root 4700 4699 0 17:06 pts/20 00:00:00 /usr/bin/python ./python-tips-17.py
即通過setproctitle.setproctitle(p.name)實現了修改python進程的名字。
3 多行字符串寫法
#!/usr/bin/python
# coding=utf-8
long_str = ('this is a '
'very long '
'string')
print long_str
運行示例代碼輸出如下:
$ ./python-tips-17.py
this is a very long string
pep8建議代碼長度不超過79個字符,如果需要寫一個長字符串,往往會超過79個字符。由示例中可以看到,通過該方式可以實現長字符串的書寫,並且不違反pep8。