文件os模块

上一篇 / 下一篇  2017-08-03 20:59:26 / 个人分类:python

Os模块

>>> import os

os.name  获取操作系统名字

>>> os.name 

'nt'

>>>

os.getcwd() 获取当前的工作路径

>>> os.getcwd()

'C:\\Users\\cong'

>>>

os.chdir("e://") 切换目录

>>> os.chdir("e://")

>>> os.getcwd()

os.fchdir()改变当前工作目录到其他目录下

os.listdir(".") 当前路径下的目录

>>> os.listdir(".")

['$RECYCLE.BIN', 'a.txt', 'BaiduNetdiskDownload', 'KuGou', 'System Volume Information']

>>>

遍历目录:

>>> for i in os.listdir("."):

...     print i

...

$RECYCLE.BIN

a.txt

BaiduNetdiskDownload

KuGou

System Volume Information

>>>

os.mkdir()   

1、创建目录,不能在不存在的目录下创建目录

>>> import os

>>> os.mkdir("f:\\zhang\\1.txt")  #mkdir不能在不存在的文件夹zhang下面建立另一个文件夹,因为程序调用创建文件夹路径时,找不到文件夹zhang,所以会报错说找不到路径。

 

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

WindowsError: [Error 3] : 'f:\\zhang\\1.txt'

>>> os.makedirs("f:\\zhang\\1.txt")

>>>

2、不能创建已经存在的目录

>>> os.mkdir("f:\\zhang")

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

WindowsError: [Error 183] : 'f:\\zhang'

os.makedirs()    创建多层目录,不存在的目录的话会自动创建

>>> os.makedirs("f:\\cong1\\1\\2")

>>>

 

Os.rmdir()     删除目录,删除最后一级目录

>>> os.rmdir("f:\\zhang\\1.txt")  #只删除1.txt目录

>>> os.mkdir("f:\\zhang\\1.txt")

 

Os..removedirs()   删除多级目录   

>>> os.removedirs("f:\\zhang\\1.txt")  #zhang1.ttx目录都删除

 

>>>

Os.remove()   只能删除文件,不能删除文件夹

>>> os.remove("f:\\zhang\\1.txt")

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

WindowsError: [Error 5] : 'f:\\zhang\\1.txt'

>>> os.remove("f:\\remove.txt")

>>>

Os.access()  检验权限模式

>>> os.access("f:\\1.txt",os.F_OK)  #测试path是否存在

True

>>> os.access("f:\\199.txt",os.F_OK)

False

>>> os.access("f:\\1.txt",os.R_OK)  #测试文件是否有读的权限

True

>>> os.access("f:\\1.txt",os.W_OK) #测试文件是否有写的权限

True

>>> os.access("f:\\1.txt",os.X_OK) #测试文件是否可执行

True

>>>

os.chmod()  修改文件或目录的权限

Os.rename()  文件重命名

os.rename("test.txt","zhang.txt")  test.txt文件名修改成zhang.txt

os.path模块的访问

os.path.isfile  判断是文件

>>> os.path.isfile("e:\\a.txt")

True

os.path.isdir 判断是目录

>>> os.path.isdir("KuGou")

True

练习:查询一个目录下有多少文件,多少目录

file1=0

dir1=0

>>> for i in os.listdir("."):

...     if os.path.isdir(i):

...         dir1+=1

...     else:

...         file1+=1

print dir1,file1

2,4

os.path.basename()  #返回文件的文件名

>>> os.path.basename("\\1.txt")

'1.txt'

Os.path.abspath()    #返回文件的绝对路径

>>> os.path.abspath("\\1.txt")

'f:\\1.txt'

Os.path.dirname()    #返回文件的路径,不包含文件名

>>> os.path.dirname("\\1.txt")

'\\'

Os.path.exists()     #判断文件是否存在

>>> os.path.exists("\\1.txt")

True

>>>

os.path.join(a,b)ab字符连接起来,即将多个路径组合起来返回

>>> os.path.join("e:\\e","zhang.txt")

'e:\\e\\zhang.txt'

>>>

os.path.split(path)  将路径分为目录和文件名两部分

>>> os.path.split("e:\\e\\zhang.txt")

('e:\\e', 'zhang.txt')

os.path.splitext()  将文件名字分为文件名和扩展名两部分

>>> os.path.splitext("zhang.txt")

('zhang', '.txt')

获得文件的信息

Getatime()  返回文件的最近访问时间

>>> os.path.getatime("f:\\")

1500731604.3641846

Getctime()  返回文件的创建时间

>>> os.path.getctime("f:\\")

1497154323.3959808

Getmtime()  返回最近文件的修改时间

>>> os.path.getmtime("f:\\")

1500731604.3641846

Getsize()返回文件的大小,单位为字节

>>> os.path.getsize("f:\\")

8192L

Abspath()返回绝对路径

>>> os.path.abspath("f:\\")

'f:\\'

 

 

9.1练习:

创建一个文件,写入内容,然后重命名,输出文件内容

#!/usr/bin/python

#encoding=utf-8

import os

for tempdir in ('/e',r"e:\\e"):

    print tempdir

    print os.path.isdir(tempdir)

    if os.path.isdir(tempdir):  #判断上面元组中的元素是否存在并且为一个目录

        break

    else:

        print u"没有可用的临时文件"

        tempdir=""

print u"可用的临时目录为:%s" %(tempdir)

if tempdir:

    os.chdir(tempdir) #转到临时目录路径下

    cwd=os.getcwd()   #获取当前路径

    print u"***创建临时目录:"

    print u"当前路径为:%s" %(cwd)

    print u"***创建example目录:"

    os.mkdir('example')  #创建目录

    os.chdir("example")  #转到创建的目录路径下

    cwd=os.getcwd()

    print u"***一个新的工作目录:"

    print cwd

    print u"***原始的目录列表:"

    print os.listdir(cwd)

    print u"***创建测试文件"

    fobj=open("test","w")

    fobj.write("foo\n")

    fobj.write("bar\n")

    fobj.close()

    print u"***更新目录列表:"

    print os.listdir(cwd)  #文件列表

    print u"***重命名文件"

    os.rename("test","filename.txt")

    print u"***更新文件列表:"

    print os.listdir(cwd)

 

    path=os.path.join(cwd,os.listdir(cwd)[0]) #将文件路径和文件名字组合起来

    print u"***完整的文件路径名:"

    print path

    print u"***(路径名,绝对路径名==)"

    print os.path.split(path) #将文件目录和文件名分开为两部分

    print u"***(文件名,扩展名)"

    print os.path.splitext(os.path.basename(path))  #将文件名分为文件名字和扩展名两部分

    print u"***展示文件的内容"

    f=open(path)

    for i in f:

        print i,

    f.close()

    print u"***删除测试文件"

    os.remove(path)

    print u"***更新文件列表:"

    print os.listdir(cwd)

    os.chdir(os.pardir)

    print u"***删除测试目录"

    os.rmdir('example')

print "DONE"

 

 

*********************************************************

C:\Users\cong>python f:\\python\\0708\\os_path.txt

/e

False

no temp directory available

e:\\e

True

e:\\e

current temporary directory:

e:\e

***创建example目录:

***一个新的工作目录:

e:\e\example

***原始的目录列表:

[]

***创建测试文件

***更新目录列表:

['test']

***重命名文件

***更新文件列表:

['filename.txt']

***完整的文件路径名:

e:\e\example\filename.txt

***(路径名,绝对路径名==)

('e:\\e\\example', 'filename.txt')

***(文件名,扩展名)

('filename', '.txt')

***展示文件的内容

foo

bar

***删除测试文件

***更新文件列表:

[]

***删除测试目录

DONE


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 14769
  • 日志数: 20
  • 建立时间: 2016-10-19
  • 更新时间: 2018-01-27

RSS订阅

Open Toolbar