開始學習python標準庫—os

來源:互聯網
上載者:User
學來學去,我才發現,最基礎的東西幾乎已是無所不能,為啥還去雜亂無章的學這學那?踏踏實實的從標準庫學起吧~
今天是os
os.rename:重新命名
os.remove:刪除檔案
os.listdir:用元組列出目錄下的所有檔案/目錄
os.getcwd:獲得當前路徑
os.chdir:改變路徑
os.mkdirs:建立目錄層
os.removedirs:刪除所給路徑中最後一個目錄下所有的空目錄;rmdir和mkdir函數只能處理單個目錄級;

os.stat:處理檔案屬性。它返回一個類元組對象(stat_result對象, 包含 10 個元素), 依次是st_mode (許可權模式), st_ino (inode number), st_dev (device), st_nlink (number of hard links), st_uid (所有者使用者識別碼), st_gid (所有者所在組 ID ), st_size (檔案大小, 位元組), st_atime (最近一次訪問時間), st_mtime (最近修改時間), st_ctime (平台相關; Unix下的最近一次中繼資料/metadata修改時間, 或者 Windows 下的建立時間) - 以上項目也可作為屬性訪問.

os.chmod:修改許可權屬性
os.utime:修改時間屬性
os.system:在當前進程下執行一個新命令, 並等待它完成。命令通過作業系統的標準 shell 執行, 並返回 shell 的退出狀態;直接將命令傳遞給 shell , 所以如果你不檢查傳入參數的時候會很危險,如果不確定參數的安全性, 那麼最好使用EXEC或spawn代替;
os.exec:函數會使用新進程替換當前進程(或者說是"轉到進程")使用 os 模組啟動新進程
File: os-exec-example-1.py

import os
import sys

program = "python"
arguments = ["hello.py"]

print os.execvp(program, (program,) +  tuple(arguments))
print "goodbye"

hello again, and welcome to the show

Python 提供了很多表現不同的exec函數。execvp函數, 它會從標準路徑搜尋執行程式, 把第二個參數(元組)作為單獨的參數傳遞給程式, 並使用當前的環境變數來運行程式. 其他七個同類型函數請參閱 Python Library Reference .
在 Unix 環境下, 你可以通過組合使用 exec , fork 以及 wait 函數來從當前程式調用另一個程式, 如 Example 1-36 所示. fork 函數複製當前進程, wait 函數會等待一個子進程執行結束

使用 os 模組調用其他程式 (Unix)
File: os-exec-example-2.py

import os
import sys

def run(program, *args):
    pid = os.fork()
    if not pid:
        os.execvp(program, (program,) +  args)
    return os.wait()[0]

run("python", "hello.py")

print "goodbye"

hello again, and welcome to the show
goodbye

fork 函數在子進程返回中返回 0 (這個進程首先從 fork 傳回值), 在父進程中返回一個非 0 的進程標識符(子進程的 PID ). 也就是說, 只有當我們處於子進程的時候 "not pid" 才為真.

forkwait 函數在 Windows 上是停用, 但是你可以使用 spawn 函數, 不過, spawn 不會沿著路徑搜尋可執行檔, 你必須自己處理好這些.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.