❶ python如何打開linux目錄
如果你是想在linux本地執行這個腳:直接在伺服器寫個python腳本,調用自帶OS包得相關介面
如果是遠程執行:使用第三方庫,比如SSHLib,調用其介面,操作
❷ linux python os.environ 為什麼不一樣
❸ 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模塊概述
Python os模塊包含普遍的操作系統功能。如果你希望你的程序能夠與平台無關的話,這個模塊是尤為重要的。(一語中的)
二、常用方法
1、os.name
輸出字元串指示正在使用的平台。如果是window 則用'nt'表示,對於Linux/Unix用戶,它是'posix'。
2、os.getcwd()
函數得到當前工作目錄,即當前Python腳本工作的目錄路徑。
3、os.listdir()
返回指定目錄下的所有文件和目錄名。
>>> os.listdir(os.getcwd())
['Django', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'MySQL-python-wininst.log', 'NEWS.txt', 'PIL-wininst.log', 'python.exe', 'pythonw.exe', 'README.txt', 'RemoveMySQL-python.exe', 'RemovePIL.exe', 'Removesetuptools.exe', 'Scripts', 'setuptools-wininst.log', 'tcl', 'Tools', 'w9xpopen.exe']
>>>
4、os.remove()
刪除一個文件。
5、os.system()
運行shell命令。
>>> os.system('dir')
0
>>> os.system('cmd') #啟動dos
6、os.sep 可以取代操作系統特定的路徑分割符。
7、os.linesep字元串給出當前平台使用的行終止符
>>> os.linesep
'\r\n' #Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
>>> os.sep
'\\' #Windows
>>>
8、os.path.split()
函數返回一個路徑的目錄名和文件名
>>> os.path.split('C:\\Python25\\abc.txt')
('C:\\Python25', 'abc.txt')
9、os.path.isfile()和os.path.isdir()函數分別檢驗給出的路徑是一個文件還是目錄。
>>> os.path.isdir(os.getcwd())
True
>>> os.path.isfile('a.txt')
False
10、os.path.exists()函數用來檢驗給出的路徑是否真地存在
>>> os.path.exists('C:\\Python25\\abc.txt')
False
>>> os.path.exists('C:\\Python25')
True
>>>
11、os.path.abspath(name):獲得絕對路徑
12、os.path.normpath(path):規范path字元串形式
13、os.path.getsize(name):獲得文件大小,如果name是目錄返回0L
14、os.path.splitext():分離文件名與擴展名
>>> os.path.splitext('a.txt')
('a', '.txt')
15、os.path.join(path,name):連接目錄與文件名或目錄
>>> os.path.join('c:\\Python','a.txt')
'c:\\Python\\a.txt'
>>> os.path.join('c:\\Python','f1')
'c:\\Python\\f1'
>>>
16、os.path.basename(path):返迴文件名
>>> os.path.basename('a.txt')
'a.txt'
>>> os.path.basename('c:\\Python\\a.txt')
'a.txt'
>>>
17、os.path.dirname(path):返迴文件路徑
>>> os.path.dirname('c:\\Python\\a.txt')
'c:\\Python'
❺ Mac OS, Windows, Linux 下如何運行一個Python 程序 , 指的是輸入什麼命令能運行該Python
啟動控制抄台,並在窗口中襲輸入如下命令(假定python被安裝在默認位置)---控制台的輸出以黑體顯示,用戶輸入將以細體字顯示:
C:\>cd c:\py3eg
C:\py3eg\>C:\Python30\python.exe hello.py
cd (切換目錄)命令使用了絕對路徑,它不管你的起始路徑在哪。
Unix用戶可以使用下面的命令(假定python 3 在PATH環境變數中)
$ cd $HOME/py3eg
$ python3 hello.py
這兩種情況下的輸出都是一樣的:
Hello World!
注意除非特別說明,否則python在Mac OS X系統下的行為和在其他Unix系統下是一樣的。
❻ python和linux到底有關系
python和linux兩者間沒什麼關系,python是一門程序設計語言,linux是一個操作系統,向上支持應用軟體的運行,向下控制硬體,是軟體和硬體的過渡層。Python語言可以在Linux系統下學習和開發。
比如,如果是想用Python開發網站(現今流行的、成熟的Python Web框架)就需要使用到Linux平台;如果想使用Python爬蟲爬取數據,在Linux系統上也要更方便一些;還有就是想學習網路安全滲透測試,在Linux上編寫Python自動化測試腳本也很有必要。
(6)linuxpythonos擴展閱讀:
可以通過python對linux進行操作,利用python操縱linux的命令為:
1、import os
#返回操作系統類型,值為posix,是linux操作系統,值為nt,是window操作系統
2、print os.name
#返回操作系統的詳細信息
3、print os.uname()
#系統的環境變數
4、print os.environ
print os.environ.get('PATH')
#判斷是否為絕對路徑(不會判斷文件或者目錄是否存在)
5、print os.path.isabs('/tmp/westos')
print os.path.isabs('hello')
#生成絕對路徑