《Python程式設計》筆記(二)

2021-07-16 12:47:26 字數 1973 閱讀 1312

# file: whereami.py

import os, sys

print(os.getcwd())

print(sys.path[:6])

# 執行結果

my os.getcwd=> /home

my sys.path=> ['/home/lab', '/home/lab/caffe/python', '/home', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload']

在首行使用unix env命令而非因編碼的python路徑,可以降低指令碼對機器的依賴性。#!/usr/bin/env python

os.environ可以訪問環境變數。環境變數可以修改,可以被用作簡易的程序通訊。

python程式中對shell所做的設定只對程式本身以及它所衍生的子程式有效。如果需要設定在程式退出後依然有效,需要借助平台相關的擴充套件來實現。

雖然os.environ的修改會呼叫os.putenv,但直接呼叫os.putenv卻不會更新os.environ

sys模組提供了python的標準輸入、輸出和錯誤流,同時也是通用的程式通訊方式。

標準流是預先開啟的python檔案物件,它們在python啟動時自動連線到你的程式上。標準流預設在python啟動時被繫結到控制台視窗。

>>> print('hello, world!')

hello, world!

>>> sys.stdout.write('hello, world!\n')

hello, world!

14>>> input('input: ')

input: hello

'hello'

>>> print('input'); sys.stdin.readline()[:-1]

input

hello

'hello'

io.stringioio.bytesio工具類可以將檔案物件和記憶體字串或者記憶體位元組緩衝區對映。

>>> 

from io import stringio, bytesio

>>> buff = stringio()

>>> buff.write('hello, world')

12>>> buff.write('spam')

>>> buff.getvalue()

'hello, worldspam'

>>> buff = stringio('hello, world\nspam')

>>> buff.readline()

'hello, world\n'

>>> buff.readline()

'spam'

>>> buff = stringio()

>>> >>> tmp = sys.stdout

>>> sys.stdout = buff

>>> print(22, 'good', 'yes')

>>> sys.stdout = tmp

>>> >>> buff.getvalue()

'22 good yes\n'

>>> stream = bytesio()

>>> stream.write(b'spam')

4>>> stream.getvalue()

b'spam'

>>> stream = bytesio(b'spam')

>>> stream.read()

b'spam'

Python 程式設計筆記(二)

命名規則 tips 下劃線作為變數名的開始對直譯器由特殊的意義,而且是內建識別符號所使用的符號 關鍵字 python的關鍵字都儲存在keyword模組中 false def if raise none del import return true elif in tryand else iswhil...

程式設計筆記二

題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。時間限制 c c 1秒,其他語言2秒 空間限制 c c 32m,其他語言64m class solution 題目 用兩個棧來...

《python核心程式設計》學習筆記(二) re

1.match 函式從字串的開始部分開始匹配,匹配成功,則返回匹配物件 匹配不成功,則返回none。m re.match foo on the table food m none2.search 函式用它的字串引數,在任意位置對給定的正規表示式模式 搜尋第一次出現的匹配情況。如果搜尋到成功的匹配,就...