處理字元串的時候,反斜杠(『\』)是轉義符。比如\n是換行符,\t是製表符,\r是回車符等等……
而如果在一個字元串中想表示反斜杠本身,就需要先用轉義符轉義,就像這樣——'\\'(沒有外面的引號)。你的代碼改成這樣:
os.system('zip -qr D:\\Development\\Python\\Temp\\20110825212607.zip D:\\Development\\Python\\HelloWorld')
或者還有一種方法,就是字元串之前加上一個字母r,表示該字元串是原始字元串——此時的轉義符就無效了,那麼反斜杠就是它本來的意思:
os.system(r'zip -qr D:\Development\Python\Temp\20110825212607.zip D:\Development\Python\HelloWorld')
另外,說句題外話:
os.system啟動一個進程後,會等待這個進程退出,再繼續執行下面的代碼
如果你想啟動進程後,你的python程序就繼續往下跑,不等待被啟動的那個進程結束
可以使用subprocess模塊下的Popen函數:
import subprocess
subprocess.Popen(r'zip -qr D:\Development\Python\Temp\20110825212607.zip D:\Development\Python\HelloWorld')
㈡ Python 運行cmd命令os.system('notepad') 提示'notepad'不是內部或外部命令
這個提示意味著在你的操作系統中找不到"notepad"應用程序。
os.system(cmdstring)是要將cmdstring字元串所包含的命令內容提交給系統去執行。
這表示cmdstring是系統所理解的內部命令(如windows的dir, cls, .., linux的ls, clear,...)或在當前目錄以及查找目錄中可以找到的可執行程序
㈢ python中os.system命令報錯
1.這個提示說說notepad這個命令不存在,你可以試試:
os.system("dir")
2.import引用的東西是python的標准庫,會在python的安裝目錄里的lib里,如果是第三方的包,一般會在site-packages里。
望採納!
㈣ Python的os庫的使用
python os庫有很多和操作系統相關的功能。
其實不僅僅如此,os庫中還有很多和文件,路徑,執行系統命令相關的。
下面是os模塊常用的方法.
1.os.sep 可以取代操作系統特定的路徑分割符
2.os.name 字元串指示你正在使用的平台。比如對於Windows,它是'nt',而對於Linux/Unix用戶,它是'posix'
3.os.getcwd() 函數得到當前工作目錄,即當前Python腳本工作的目錄路徑
4.os.getenv() 用來讀取環境變數
5.os.putenv() 用來設置環境變數
6.os.listdir() 返回指定目錄下的所有文件和目錄名
7os.remove() 函數用來刪除一個文件
8.os.system() 函數用來運行shell命令
9.os.linesep 字元串給出當前平台使用的行終止符。例如,Windows使用'/r/n',Linux使用'/n'而Mac使用'/r'。
10.os.path.split() 函數返回一個路徑的目錄名和文件名
11.os.path.isfile() 檢驗給出的路徑是一個文件
12os.path.isdir() 檢驗給出的路徑是一個目錄
13.os.path.existe() 函數用來檢驗給出的路徑是否真地存在
14.os.listdir(dirname) 列出dirname下的目錄和文件
15.os.getcwd() 獲得當前工作目錄
16.os.curdir 返回當前目錄('.')
17.os.chdir(dirname) 改變工作目錄到dirname
os.path都是和路徑指定的文件,目錄,和路徑字元串有關系的函數
os.path.isdir(name) 判斷name是不是一個目錄,name不是目錄就返回false
os.path.isfile(name) 判斷name是不是一個文件,不存在name也返回false
os.path.exists(name) 判斷是否存在文件或目錄name
os.path.getsize(name) 獲得文件大小,如果name是目錄返回0L
os.path.abspath(name) 獲得絕對路徑
os.path.normpath(path) 規范path字元串形式
os.path.split(name) 分割文件名與目錄(事實上,如果你完全使用目錄,它也會將最後一個目錄作為文件名而分離,同時它不會判斷文件或目錄是否存在)
os.path.splitext() 分離文件名與擴展名
os.path.join(path,name) 連接目錄與文件名或目錄
os.path.basename(path) 返迴文件名
os.path.dirname(path) 返迴文件路徑
㈤ Python包之OS
參考: https://docs.python.org/3/library/os.html
Python中對OS模塊的定位是:提供了使用操作系統的工具介面。
如果你想讀寫文件,可以參考open();
如果你想操作文件路徑,參考os.path模塊;
如果你想在命令行讀取所有文件的所有行,參考fileinput模塊;
如果你想創建臨時文件或目錄,參考tempfile模塊;
如果你想更高級的文件和路徑處理,參考shutil模塊;
內置的OSError異常類型,比如在使用os模塊中的函數介面時,在參數中提供了無效的文件或路徑,就回報錯os.error。
該變數返回當前操作系統的類型,當前只注冊了3個值:分別是posix , nt , java, 對應linux/windows/java虛擬機。
在Python中,文件名,命令行參數和環境變數都是用字元串類型來表示。
接下來的這些函數和數據提供了當前進程和用戶的信息狀態和操作介面。
返回進程式控制制終端的文件名,適用於Unix系統。
返回字元串到環境變數的映射。
改變當前工作目錄到指定的路徑,path為要切換到的新路徑。
通過文件描述符改變當前工作目錄。
文件描述符是內核為了高效管理已經被打開的文件所創建的索引,
進程通過文件描述符來訪問文件。 在程序剛啟動的時候默認有3個文件描述符:0(標准輸入),1(標准輸出),2(標准錯誤),系統默認提供了 0~2的文件描述符,之後的 當我們進行 open,create等操作的時候 自動添加進表
所以int creat(const char * ,mode_t)返回的文件int 就是你所進行操作的文件的唯一身份標示,
然後你只要拿著這個ID 然後告訴系統給我找xx, write(int fd,char *buf,int lenght) 通過fd得到准確文件 然後寫入。
當我們新建creat,打開open 之後,得到的fd 是從3開始的 因為前面的三個被系統佔了在OS X系統下測試 文件描述符表 自增,當釋放close之後,fd變成-1,如果再繼續新建 則填補之前的空缺。
返回當前工作目錄。
把字元串類型的文件名翻譯成bytes類型的文件名;os.fsdecode()實現相反的功能。
返迴路徑的文件系統表示。
如果環境變數中存在key,返回環境變數key的值,否則返回default的值。
設置環境變數key的值為value。
使用當前uid/gid檢測對路徑path是否有訪問許可權。其中,path為要檢測是否有許可權的路徑,mode為許可權類別,值可以為os.F_OK、os.R_OK、os.W_OK、os.X_OK中的一個或多個;
切換當前的工作路徑為path指定的路徑。
設置路徑path的標記為flags,flags為數字標記,多個flags可以使用or組合。flags可以為以下值或以下值的組合:
更改文件或目錄的許可權。
path -- 文件名路徑或目錄路徑
mode -- 可用以下選項按位或操作生成, 目錄的讀許可權表示可以獲取目錄里文件名列表, 寫許可權表示可以獲取文件並且可以修改內容,執行許可權表示可以把工作目錄切換到此目錄 ,刪除添加目錄里的文件必須同時有寫和執行許可權 ,文件許可權以用戶id->組id->其它順序檢驗,最先匹配的允許或禁止許可權被應用。
更改路徑的擁有者和group id為uid和gid。如果不修改可以設置為-1,並且需要超級用戶許可權來執行許可權修改操作。
path -- 設置許可權的文件路徑
uid -- 所屬用戶ID
gid -- 所屬用戶組ID
更改當前進程的根目錄為path。
返回當前工作目錄。
返回path目錄路徑下的文件列表,列表沒有固定的順序。
創建目錄path。如果目錄已經存在,會拋出異常FileExistsError。
遞歸的目錄創建,遞歸的意思是創建所有到達葉子目錄的中間目錄。
從原始設備號(通常是stat中的st_dev或st_rdev)中提取設備major號碼。
從原始設備號(通常是stat中的st_dev或st_rdev)中提取設備minor號碼。
根據設備的major號碼和minor號碼組成原始設備號。
刪除文件路徑path。如果path指向的是目錄路徑,會拋出異常IsADirectoryError。如果要刪除目錄,使用rmdir。
遞歸的刪除目錄。與rmdir功能相似,不同的是,如果葉子目錄被刪除之後,removedirs會連續的刪除每一層上級目錄,直到拋出異常(異常會被忽略,因為異常通常意味著上層目錄為非空目錄)。
重命名文件或路徑src為dst,如果dst已經存在,會拋出異常。
遞歸的重命名文件或目錄。功能與rename類似,不同在於,renames首先創建new路徑(即重命名之後的路徑)的中間路徑,然後創建完整new路徑,最後,會使用removedirs刪除掉old路徑(實際上刪除的是old路徑與new路徑不重合的部分)。
重命名文件或路徑src為dst。如果dst是目錄,拋出異常OSError。如果dst是文件且已經存在,且用戶具有許可權,dst會被替換掉。
刪除path目錄。如果path不存在,或者path非空,會拋出異常FileNotFoundError或OSError。如果要刪除整個目錄樹,可以使用shutil.rmtree()。
返回path的絕對路徑,效果等同於使用normpath:normpath(join(os.getcwd(), path))。
返迴路徑path的文件名,也就是對path調用os.path.split函數返回的元組的第二個元素。
paths為一個序列類型,其中每個元素表示一個路徑,函數返回結果為每個元素所表示的路徑的最長公共子路徑。如果paths為空,或者paths同時包含絕對路徑和相對路徑,或者paths同時包含不同驅動類型的路徑(比如Linux系統的路徑和Windows系統的路徑),則拋出異常ValueError。
list中的每個元素表示一個路徑,函數返回每個路徑的最長的共有路徑前綴,因為計算方式為逐個字元進行比較,所以可能返回的結果並非有效的路徑,如果要返回有效路徑,可以使用commonpath。
返回path路徑的目錄部分,也就是對path調用os.path.split函數返回的元組的第一個元素。
如果path指向的路徑已存在,則返回True,否則返回False。
在Unix和Windows系統中,返回path路徑中的~被替換成用戶的home目錄之後的結果。
path路徑中的 {name}被環境變數中對應名稱的值替代。
返回最後一次訪問path的時間,返回值的格式為一個float類型的數值,表示距離epoch基準時間1970-01-01 00:00:00的秒數。如果path表示的路徑不存在或者沒有許可權,拋出異常OSError。
返回最後一次修改path的時間,返回值的格式為一個float類型的數值,表示距離epoch基準時間1970-01-01 00:00:00的秒數。如果path表示的路徑不存在或者沒有許可權,拋出異常OSError。
返回path表示的文件或路徑的大小,以byte位元組為單位。如果path表示的路徑不存在或者沒有許可權,拋出異常OSError。
如果path是絕對路徑,返回True,否則返回False。
如果path表示的是已存在的文件路徑,返回True。
如果path表示的是已存在的目錄,返回True。
如果path表示的是鏈接,返回True。
判斷path是否為掛載點。
連接一個或多個路徑,path和多個*paths的連接會使用路徑分隔符。
對path的字母大小寫進行normalize。在Windows系統中,path中的所有字母都轉成小寫,並且把正斜杠轉成反斜杠。在其他操作系統中,返回path本身。
對path進行normalize,刪除多餘的路徑分隔符。
split the path into a pair (head, tail),其中tail是path中最後的部分,並且永遠不會含有斜杠,head是除了tail之外的部分。如果path以斜杠結尾,tail為空;如果path中不包含斜杠,head為空;如果path為空,head和tail都是空。
㈥ python怎麼下載os庫
os 庫提供通用的、基本的操作系統交互功能os 庫是Python標准庫,包含幾百個函數,常用的有路徑操作、進程管理、環境參數等。
os模塊包含普遍的操作系統功能,與具體的平台無關。以下列舉常用的命令(推薦學習:Python視頻教程)
1. os.name——判斷現在正在實用的平台,Windows 返回 『nt'; Linux 返回』posix'
2. os.getcwd()——得到當前工作的目錄。
3. os.pstdir()——指定所有目錄下所有的文件和目錄名。
4. os.remove()——刪除指定文件
5. os.rmdir()——刪除指定目錄
6. os.mkdir()——創建目錄
注意:這樣只能建立一層,要想遞歸建立可用:os.makedirs()
7. os.path.isfile()——判斷指定對象是否為文件。是返回True,否則False
8. os.path.isdir()——判斷指定對象是否為目錄。是True,否則False。
9. os.path.exists()——檢驗指定的對象是否存在。是True,否則False.
10. os.path.sppt()——返迴路徑的目錄和文件名。
此處只是把前後兩部分分開而已。就是找最後一個'/'。
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於python怎麼下載os庫的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
㈦ python 中os.system()的用法
os模塊中的system()函數可以方便地運行其他程序或者腳本。
語法如下:os.system(command)
其參數含義如下所示:
command 要執行的命令,相當於在Windows的cmd窗口中輸入的命令。如果要向程序或者腳本傳遞參數,可以使用空格分隔程序及多個參數。
(7)pythonos命令擴展閱讀
Python在執行時,首先會將.py文件中的源代碼編譯成Python的byte code(位元組碼),然後再由Python Virtual Machine(Python虛擬機)來執行這些編譯好的byte code。這種機制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine與Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一種更高級的Virtual Machine。
這里的高級並不是通常意義上的高級,不是說Python的Virtual Machine比Java或.NET的功能更強大,而是說和Java 或.NET相比,Python的Virtual Machine距離真實機器的距離更遠。或者可以這么說,Python的Virtual Machine是一種抽象層次更高的Virtual Machine。
基於C的Python編譯出的位元組碼文件,通常是.pyc格式。
除此之外,Python還可以以交互模式運行,比如主流操作系統Unix/Linux、Mac、Windows都可以直接在命令模式下直接運行Python交互環境。直接下達操作指令即可實現交互操作。
㈧ python模塊os裡面os.system命令返回什麼
linux命令都是返回0代表成果,這是一個習慣,基本沒有人用返回值0代表命令失敗.
所以 os.system(命令) 如果返回為0則帶便命令執行成功了.
具體返回其他數值代表什麼意思,就要看具體命令是什麼了.比如最常用的 ls 命令, 有三個返回值:
0 代表成功
1 代表小問題
2 代表大問題
㈨ python調用OS.system結束進程問題
os.system是執行命令,是否列印取決於命令是否有返回
如果你想不讓其列印 可以在命令中做手腳如: os.system('taskkill /IM dllhost.exe > NUL')
㈩ python os.system 命令求助
看一下是不是linux系統許可權的問題。確保你對那個目錄有讀寫許可權。另外,如果是想一個指令建立多級目錄,需要用-p參數。 mkdir -p PATH