日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python os模块详细_Python文件系统功能--os模块详解

發布時間:2025/3/20 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python os模块详细_Python文件系统功能--os模块详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件系統功能:os模塊內置屬性方法

1、目錄相關

chdir():改變工作目錄

chroot(): 設定當前進程的根目錄

listdir(): 列出指定目錄下的所有文件名

mkdir(): 創建指定目錄

makedirs(): 創建多級目錄

getcwd():獲取當前工作目錄

rmdir():刪除目錄

removedirs(): 刪除多級目錄

用法示例:

In [1]:

import os

In [2]:

os.

Display

all 207 possibilities? (y or n)

os.EX_CANTCREAT

os.O_DSYNC

os.WCONTINUED

os.confstr_names

os.fdopen

os.getsid

os.pardir

os.setpgid

os.sys

os.EX_CONFIG

os.O_EXCL

os.WCOREDUMP

os.ctermid

os.fork

os.getuid

os.path

os.setpgrp

os.sysconf

os.EX_DATAERR

os.O_LARGEFILE

os.WEXITSTATUS

os.curdir

os.forkpty

os.initgroups

os.pathconf

os.setregid

os.sysconf_names

os.EX_IOERR

os.O_NDELAY

os.WIFCONTINUED

os.defpath

os.fpathconf

os.isatty

os.pathconf_names

os.setresgid

os.system

os.EX_NOHOST

os.O_NOATIME

os.WIFEXITED

os.devnull

os.fstat

os.kill

os.pathsep

os.setresuid

os.tcgetpgrp

os.EX_NOINPUT

os.O_NOCTTY

os.WIFSIGNALED

os.dup

os.fstatvfs

os.killpg

os.pipe

os.setreuid

os.tcsetpgrp

os.EX_NOPERM

os.O_NOFOLLOW

os.WIFSTOPPED

os.dup2

os.fsync

os.lchown

os.popen

os.setsid

os.tempnam

os.EX_NOUSER

os.O_NONBLOCK

os.WNOHANG

os.environ

os.ftruncate

os.linesep

os.popen2

os.setuid

os.times

os.EX_OK

os.O_RDONLY

os.WSTOPSIG

os.errno

os.getcwd

os.link

os.popen3

os.spawnl

os.tmpfile

os.EX_OSERR

os.O_RDWR

os.WTERMSIG

os.error

os.getcwdu

os.listdir

os.popen4

os.spawnle

os.tmpnam

os.EX_OSFILE

os.O_RSYNC

os.WUNTRACED

os.execl

os.getegid

os.lseek

os.putenv

os.spawnlp

os.ttyname

os.EX_PROTOCOL

os.O_SYNC

os.W_OK

os.execle

os.getenv

os.lstat

os.read

os.spawnlpe

os.umask

os.EX_SOFTWARE

os.O_TRUNC

os.X_OK

os.execlp

os.geteuid

os.major

os.readlink

os.spawnv

os.uname

os.EX_TEMPFAIL

os.O_WRONLY

os.abort

os.execlpe

os.getgid

os.makedev

os.remove

os.spawnve

os.unlink

os.EX_UNAVAILABLE

os.P_NOWAIT

os.access

os.execv

os.getgroups

os.makedirs

os.removedirs

os.spawnvp

os.unsetenv

os.EX_USAGE

os.P_NOWAITO

os.altsep

os.execve

os.getloadavg

os.minor

os.rename

os.spawnvpe

os.urandom

os.F_OK

os.P_WAIT

os.chdir

os.execvp

os.getlogin

os.mkdir

os.renames

os.stat

os.utime

os.NGROUPS_MAX

os.R_OK

os.chmod

os.execvpe

os.getpgid

os.mkfifo

os.rmdir

os.stat_float_times os.wait

os.O_APPEND

os.SEEK_CUR

os.chown

os.extsep

os.getpgrp

os.mknod

os.sep

os.stat_result

os.wait3

os.O_ASYNC

os.SEEK_END

os.chroot

os.fchdir

os.getpid

os.name

os.setegid

os.statvfs

os.wait4

os.O_CREAT

os.SEEK_SET

os.close

os.fchmod

os.getppid

os.nice

os.seteuid

os.statvfs_result

os.waitpid

os.O_DIRECT

os.TMP_MAX

os.closerange

os.fchown

os.getresgid

os.open

os.setgid

os.strerror

os.walk

os.O_DIRECTORY

os.UserDict

os.confstr

os.fdatasync

os.getresuid

os.openpty

os.setgroups

os.symlink

os.write

In [2]:

os.mkdir('/tmp/0526') #創建目錄

In [3]:

os.getcwd()

#獲取當前路徑

Out[3]:

'/root'

In [4]:

os.chdir('/tmp')

#改變當前路徑為/tmp

In [5]:

os.getcwd()

Out[5]:

'/tmp'

In [7]:

os.makedirs('x/y/z')

#遞歸創建目錄

In [8]:

os.rmdir('/tmp/0526') #刪除目錄

2、文件相關

mkfifo():創建命令管道

mknod(): 創建設備文件

remove():刪除文件

unlink():刪除鏈接文件

rename(): 重命名

stat(): 返回文件狀態信息

symlink():創建連接

utime(): 更新時間戳

tmpfile(): 創建并打開(w+b)一個新的臨時文件

walk():目錄樹生成器

用法示例:

In [1]:

import os

In [2]:

os.getcwd()

Out[2]:

'/root'

In [3]:

os.chdir('/field/') #切換目錄到/field/下

In [4]:

os.getcwd()

Out[4]:

'/field'

In [6]:

os.listdir('/field/') #列出/field/目錄下的文件

Out[6]:

['passwd', 'tmp.txt', 'test.unl', 'test0526.txt']

In [7]:

os.remove('/field/tmp.txt') #刪除/field/目錄下的tmp.txt文件

In [8]:

os.listdir('/field/')

Out[8]:

['passwd', 'test.unl', 'test0526.txt']

In [9]:

os.stat('/field/test.unl') #查詢/field/目錄下的test.unl文件詳細信息

Out[9]:

posix.stat_result(st_mode=33188, st_ino=89994, st_dev=2050L,

st_nlink=1, st_uid=0, st_gid=0, st_size=25, st_atime=1527341763,

st_mtime=1527341763, st_ctime=1527341779)

In [10]:

os.rename('/field/test.unl','/field/newtest.unl') #重命名test.unl為newtest.unl

In [11]:

os.listdir('/field/')

Out[11]:

['passwd', 'newtest.unl', 'test0526.txt']

In [12]:

os.symlink('newtest.unl','test.unl') #為newtest.unl創建軟鏈接test.unl

[root@test

field]# ll

總用量 12

-rw-r--r--

1 root root 25

5月26 21:36

newtest.unl

-rw-r--r--

1 root root 1966 5月26 21:36

passwd

-rw-r--r--

1 root root 70

5月26 21:36

test0526.txt

lrwxrwxrwx

1 root root 11

5月26 21:42 test.unl

-> newtest.unl

In [13]:

os.listdir('/field/')

Out[13]:

['passwd', 'test.unl', 'newtest.unl', 'test0526.txt']

In [14]:

os.unlink('test.unl')

#刪除鏈接test.unl

In [15]:

os.listdir('/field/')

Out[15]:

['passwd', 'newtest.unl', 'test0526.txt']

[root@test

field]# ll

總用量 12

-rw-r--r--

1 root root 25

5月26 21:36

newtest.unl

-rw-r--r--

1 root root 1966 5月26 21:36

passwd

-rw-r--r--

1 root root 70

5月26 21:36

test0526.txt

In [16]:

g1 = os.walk('/field/') #生成一個目錄樹

In [17]:

g1.next()

Out[17]:

('/field/', ['0526', 'testdir'], ['passwd', 'newtest.unl',

'test0526.txt'])

3、訪問權限相關

access(path, mode): 查看是否具備訪問權限

chmod(path, mode): 修改權限

chown(path, uid, gid):修改屬主,屬組

umask(): 設置默認權限模式、

用法示例:

In [22]:

os.access('passwd',0)

#查看root是否有passwd訪問權限

Out[22]:

True

In [23]:

os.access('passwd',500)

#查看500用戶是否有passwd訪問權限

Out[23]:

False

In [24]:

os.chmod('passwd',0755)

#修改passwd權限為755

In [25]:

os.chown('passwd',500,500) #修改文件屬主屬組為500

[root@test

field]# ll passwd

-rwxr-xr-x

1 root root 1966 5月26 21:36

passwd

[root@test

field]# id field

uid=500(field) gid=500(field) 組=500(field)

[root@test

field]# ll passwd

-rwxr-xr-x

1 field field 1966 5月26 21:36

passwd

4、文件描述符相關

open(filename, flag [, mode=0777]) ->

fd:底層操作系統打開一個文件,庫中的函數打開一個文件

read():較底層IO的讀操作

write():較底層IO的寫操作

5、設備文件相關

makedev(major, minor): 創建設備文件

major(device):從指定設備獲取主設備號,device設備號

minor(device):從指定設備獲取從設備號

用法示例

In [1]:

os.major(61)

Out[1]:

0

In [2]:

os.major(610)

Out[2]:

2

In [3]:

os.minor(610)

Out[3]:

98

In [4]:

os.minor(61)

Out[4]:

61Out[30]: 2

6、os.path文件路徑相關屬性方法

basename(): 路徑基名

dirname(): 路徑目錄名

join(): 構建絕對路徑

split(): 返回dirname(),

basename()元組

splitext(): 返回(filename,

extension)元組

用法示例

例1:常見方法使用

In [1]:

import os.path

In [2]:

os.path.

os.path.abspath

os.path.ismount

os.path.altsep

os.path.join

os.path.basename

os.path.lexists

os.path.commonprefix

os.path.normcase

os.path.curdir

os.path.normpath

os.path.defpath

os.path.os

os.path.devnull

os.path.pardir

os.path.dirname

os.path.pathsep

os.path.exists

os.path.realpath

os.path.expanduser

os.path.relpath

os.path.expandvars

os.path.samefile

os.path.extsep

os.path.sameopenfile

os.path.genericpath

os.path.samestat

os.path.getatime

os.path.sep

os.path.getctime

os.path.split

os.path.getmtime

os.path.splitdrive

os.path.getsize

os.path.splitext

os.path.isabs

os.path.stat

os.path.isdir

os.path.supports_unicode_filenames

os.path.isfile

os.path.walk

os.path.islink

os.path.warnings

In [2]:

os.path.dirname('/etc/sysconfig/network-scripts') #查看路徑目錄名

Out[2]:

'/etc/sysconfig'

In [3]:

os.path.basename('/etc/sysconfig/network-scripts') #查看路徑基名

Out[3]:

'network-scripts'

In [4]:

dir1 = os.path.dirname('/etc/sysconfig/network-scripts')

In [5]:

file1 =

os.path.basename('/etc/sysconfig/network-scripts')

In [6]:

print dir1, file1

/etc/sysconfig network-scripts

In [7]:

os.path.join(dir1,file1)

#使用os.path.join(dir1,file1)聯合路徑目錄名和基名,構建絕對路徑

Out[7]:

'/etc/sysconfig/network-scripts'

In [8]:

os.listdir('/field/')

Out[8]:

['0526', 'passwd', 'testdir', 'newtest.unl',

'test0526.txt']

例2:使用絕對路徑打印/field/下文件

In [9]:

for filename in os.listdir('/field/'):

...:

print os.path.join('/field',filename)

...:

/field/0526

/field/passwd

/field/testdir

/field/newtest.unl

/field/test0526.txt

In [10]:

os.path.split('/field/passwd')

Out[10]:

('/field', 'passwd')

7、文件信息相關

getatime():最近一次訪問時間

getctime():文件狀態最后一次被改變的時間

getmtime():文件內容最后一次被修改的時間

getsize(): 返回文件的大小

8、文件查詢相關

exists(): 判斷指定文件是否存在

isabs(): 判斷指定的路徑是否為絕對路徑

isdir(): 是否為目錄

isfile(): 是否為文件

islink(): 是否符號鏈接

ismount(): 是否為掛載點

samefile(): 兩個路徑是否指向了同一個文件

應用實例

判斷文件是否存在,存在則打開,不存在則新建,讓用戶通過鍵盤反復輸入多行數據,追加保存至此文件中,并使用“q”和“quit”控制輸入

[root@test

field]# ls

0526

newtest.unl

passwd

test0526.txt testdir

[root@test

field]# vim test.py

#!/usr/bin/python27

#

import

os

import

os.path

filename =

'/field/tmp.txt'

if

os.path.exists(filename):

f1 = open(filename,'a+')

else:

f1 = open(filename,'w+')

while

True:

line = raw_input('Please say something>')

if line == 'q' or line == 'quit':

break

f1.write(line+'\n')

f1.close()

[root@test

field]# ./test.py

Please say

something>hello world!

Please say

something>how are you ?

Please say

something>how old are you ?

Please say

something>i am field.

Please say

something>quit

[root@test

field]# cat tmp.txt

hello

world!

how are

you ?

how old

are you ?

i am

field.

[root@test

field]# ./test.py

Please say

something>yes sir!

Please say

something>thanks!

Please say

something>q

[root@test

field]# cat tmp.txt

hello

world!

how are

you ?

how old

are you ?

i am

field.

yes

sir!

thanks!

總結

以上是生活随笔為你收集整理的python os模块详细_Python文件系统功能--os模块详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。