天天看點

python3中,os.path子產品下常用的用法總結

abspath
basename
dirname
exists
getatime
getctime
getmtime
getsize
isabs
isdir
isfile
islink
ismount
join
realpath
samefile
sameopenfile
split
splitext

傳回一個目錄的絕對路徑
Return an absolute path.           
>>> os.path.abspath("/etc/sysconfig/selinux")
'/etc/sysconfig/selinux'
>>> os.getcwd()
'/root'
>>> os.path.abspath("python_modu")
'/root/python_modu'           

傳回一個目錄的基名
Returns the final component of a pathname           
>>> os.path.basename("/etc/sysconfig/selinux")
'selinux'
>>> os.path.basename("/usr/local/python3/bin/python3")
'python3'           

傳回一個目錄的目錄名
Returns the directory component of a pathname           
>>> os.path.dirname("/etc/sysconfig/selinux")
'/etc/sysconfig'
>>> os.path.dirname("/usr/local/python3/bin/python3")
'/usr/local/python3/bin'           

測試指定檔案是否存在
Test whether a path exists.  Returns False for broken symbolic links           
>>> os.path.exists("/home/egon")
False
>>> os.path.exists("/root")
True
>>> os.path.exists("/usr/bin/python")
True           

得到指定檔案最後一次的通路時間
Return the last access time of a file, reported by os.stat().           
>>> os.stat("/root/test.sh")
os.stat_result(st_mode=33261, st_ino=100684935, st_dev=2050, st_nlink=1, st_uid=0, st_gid=0, st_size=568, st_atime=1498117664, st_mtime=1496629059, st_ctime=1498117696)
>>> os.path.getatime("/root/test.sh")
1498117664.2808378           

得到指定檔案最後一次的改變時間
Return the metadata change time of a file, reported by os.stat().           
>>> os.stat("/root/test.sh")
os.stat_result(st_mode=33261, st_ino=100684935, st_dev=2050, st_nlink=1, st_uid=0, st_gid=0, st_size=568, st_atime=1498117664, st_mtime=1496629059, st_ctime=1498117696)
>>> os.path.getctime("/root/test.sh")
1498117696.039542           

得到指定檔案最後一次的修改時間
Return the last modification time of a file, reported by os.stat().           
>>> os.stat("/root/test.sh")
os.stat_result(st_mode=33261, st_ino=100684935, st_dev=2050, st_nlink=1, st_uid=0, st_gid=0, st_size=568, st_atime=1498117664, st_mtime=1496629059, st_ctime=1498117696)
>>> os.path.getmtime("/root/test.sh")
1496629059.9313989           

得到得到檔案的大小
Return the size of a file, reported by os.stat().           
>>> os.stat("/root/test.sh")
os.stat_result(st_mode=33261, st_ino=100684935, st_dev=2050, st_nlink=1, st_uid=0, st_gid=0, st_size=568, st_atime=1498117664, st_mtime=1496629059, st_ctime=1498117696)
>>> os.path.getsize("/root/test.sh")
568           

測試參數是否是絕對路徑
Test whether a path is absolute           
>>> os.path.isabs("python_modu")
False
>>> os.path.isabs("/etc/sysconfig")
True           

測試指定參數是否是目錄名
Return true if the pathname refers to an existing directory.           
>>> os.path.isdir("/etc/sysconfig/selinux")
False
>>> os.path.isdir("/home")
True           

測試指定參數是否是一個檔案
Test whether a path is a regular file           
>>> os.path.isfile("/home")
False
>>> os.path.isfile("/etc/sysconfig/selinux")
True           

測試指定參數是否是一個軟連結
Test whether a path is a symbolic link           
>>> os.path.islink("/etc/sysconfig/selinux")
True
>>> os.path.islink("/etc/sysconfig/nfs")
False           

測試指定參數是否是挂載點
Test whether a path is a mount point           
>>> os.path.ismount("/mnt/cdrom")
False
以上是未挂載CD光牒,現在把CD光牒挂載到/mnt/cdrom下,再進行測試
>>> os.path.ismount("/mnt/cdrom")
True           

join(a, *p)
将目錄名和檔案的基名拼接成一個完整的路徑
Join two or more pathname components, inserting '/' as needed.
If any component is an absolute path, all previous path components
will be discarded.  An empty last part will result in a path that
ends with a separator.           
>>> for filename in os.listdir("/home"):
...     print(os.path.join("/tmp",filename))
... 
/tmp/a
/tmp/f1.txt           

傳回指定檔案的标準路徑,而非軟連結所在的路徑
Return the canonical path of the specified filename, eliminating any
symbolic links encountered in the path.           
>>> os.path.realpath("/etc/sysconfig/selinux")
'/etc/selinux/config'
>>> os.path.realpath("/usr/bin/python")
'/usr/bin/python2.7'           

測試兩個路徑是否指向同一個檔案
Test whether two pathnames reference the same actual file           

測試兩個打開的檔案是否指向同一個檔案
Test whether two open file objects reference the same file           

分割目錄名,傳回由其目錄名和基名給成的元組
Split a pathname.  Returns tuple "(head, tail)" where "tail" is
everything after the final slash.  Either part may be empty.           
>>> os.path.split("/tmp/f1.txt")
('/tmp', 'f1.txt')
>>> os.path.split("/home/test.sh")
('/home', 'test.sh')           

分割檔案名,傳回由檔案名和擴充名組成的元組
Split the extension from a pathname.
Extension is everything from the last dot to the end, ignoring
leading dots.  Returns "(root, ext)"; ext may be empty.           
>>> os.path.splitext("/home/test.sh")
('/home/test', '.sh')
>>> os.path.splitext("/tmp/f1.txt")
('/tmp/f1', '.txt')