在Python中可以很方便地做一些诸如浏览目录,创建文件夹,删除文件夹等等的操作。

对文件系统的访问大多通过os模块来实现,因为Python是多平台的,os模块只是前端,具体的实现还是由具体的系统来完成,这里还是主要说Windows系统。

利用os模块可以做创建文件,删除文件,重命名文件,返回文件信息等等。

os.path模块中则可以得到文件名,目录路径,或者文件是否存在,文件的大小等等信息。

要使用这个模块,就必须先把它导入。

  1. importos

可以用os.path模块中的isdir()函数来看看指定路径是不是存在,是不是一个目录。

  1. os.path.isdir('C:\Windows')

Python会返回True,表示目录存在。如果把上面的Windows改成不存在的目录比如Windows1,就会返回False

用os模块中的chdir()可以改变当前的目录,为下一步操作做准备。 改变目录后,可以用getcwd()函数得到现在的目录。 用listdir()函数可以得到目录中的所有文件和文件夹的名称,以列表的形式储存。

  1. os.chdir(dir)    # 括号内的dir为要改变的目录,例如os.chdir('C:\Windows')
  2. cwd=os.getcwd()   # 得到目前的目录名
  3. os.listdir(cwd)   # cwd为要显示的目录。

以下是一个具体的应用:

  1. >>> importos
  2. >>> os.path.isdir('c:\windows')
  3. True
  4. >>> os.chdir('c:\windows')
  5. >>> cwd=os.getcwd()
  6. >>> print cwd
  7. c:\windows
  8. >>> os.listdir(cwd)
  9. ['Acronis', 'addins', 'AppCompat', 'AppPatch', 'assembly', 'avastSS.scr', 'AxIns
  10. tSV', 'bfsvc.exe', 'BitLockerDiscoveryVolumeContents', 'BOCNET', 'Boot', 'bootst
  11. at.dat', 'Branding', 'CSC', 'Cursors', 'debug', 'diagnostics', 'DigitalLocker',
  12. 'DirectX.log', 'Downloaded Installations', 'Downloaded Program Files', 'DPINST.L
  13. OG', 'DtcInstall.log', 'ehome', 'en-US', 'Enterprise.xml', 'explorer.exe', 'Font
  14. s', 'fveupdate.exe', 'Globalization', 'Help', 'HelpPane.exe', 'hh.exe', 'idmfsa.
  15. dll', 'IE9_main.log', 'IME', 'inf', 'Installer', 'L2Schemas', 'LiveKernelReports
  16. ', 'Logs', 'Media', 'mib.bin', 'Microsoft.NET', 'ModemLogs', 'msdfmap.ini', 'not
  17. epad.exe', 'nsreg.dat', 'ntbtlog.txt', 'Offline Web Pages', 'Options', 'Panther'
  18. , 'PCHEALTH', 'Performance', 'PFRO.log', 'PLA', 'PolicyDefinitions', 'Prefetch',
  19. 'regedit.exe', 'Registration', 'RemotePackages', 'rescache', 'Resources', 'RtlE
  20. xUpd.dll', 'SchCache', 'schemas', 'security', 'ServiceProfiles', 'servicing', 'S
  21. etup', 'setupact.log', 'setuperr.log', 'ShellNew', 'SoftwareDistribution', 'Spee
  22. ch', 'splwow64.exe', 'Starter.xml', 'system', 'system.ini', 'System32', 'SysWOW6
  23. ', 'TAPI', 'Tasks', 'Temp', 'tracing', 'TSSysprep.log', 'twain.dll', 'twain_32'
  24. , 'twain_32.dll', 'twunk_16.exe', 'twunk_32.exe', 'Vss', 'Web', 'win.ini', 'Wind
  25. owsShell.Manifest', 'WindowsUpdate.log', 'winhlp32.exe', 'winsxs', 'WMSysPr9.prx
  26. ', 'write.exe', 'xinstaller.dll', 'xinstaller.exe', 'zh-CN']
  27. ]
  28. 'Acronis'

其他文件系统操作:

  1. os.mkdir('e:\\abcd')  # 之所以打两个斜杠,是因为要取消\a的转义。mkdir()在这里在e盘创建一个名字为abcd的文件夹。
  2. os.rmdir('e:\\abcd')  # rmdir()删除e盘名字为abcd的文件夹。
  3. os.remove(filename)   # 删除文件。
  4. os.stat(filename)     # 得到文件的信息。

os.path也有一些其他的操作,例如basename()去掉路径,返回文件名,dirname()去掉文件名,返回路径等等。到时候可以再查有关书籍。

Python 强大而易用的文件操作(转载)的更多相关文章

  1. Python学习系列(五)(文件操作及其字典)

    Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件      在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...

  2. python基础编程: 编码补充、文件操作、集合、函数参数、函数递归、二分查找、匿名函数与高阶函数

    目录: 编码的补充 文件操作 集合 函数的参数 函数的递归 匿名函数与高阶函数 二分查找示例 一.编码的补充: 在python程序中,首行一般为:#-*- coding:utf-8 -*-,就是告诉p ...

  3. python基础(内置函数+文件操作+lambda)

    一.内置函数 注:查看详细猛击这里 常用内置函数代码说明: # abs绝对值 # i = abs(-123) # print(i) #返回123,绝对值 # #all,循环参数,如果每个元素为真,那么 ...

  4. python 命令行参数,以及文件操作

    #demo.py #!/usr/bin/python import sys print sys.argv #python demo.py 11 22 33 44 55 ['demo.py', '11' ...

  5. python基础(六)dict字典和文件操作open

    字典dict 使用key来标注value的数据类型,key和value是一一对应的.在字典中key是唯一的,所以字典也是无序的. #定义一个字典 dict = { 'name' : 'sylar', ...

  6. Python【第三篇】文件操作、字符编码

    一.文件操作 文件操作分为三个步骤:文件打开.操作文件.关闭文件,但是,我们可以用with来管理文件操作,这样就不需要手动来关闭文件. 实现原理: import contextlib @context ...

  7. python学习笔记——(三)文件操作

    ·集合操作及其相应的操作符表示集合中没有插入,只有添加,因为毕竟无序 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhan ...

  8. Python全栈开发之路 【第三篇】:Python基础之字符编码和文件操作

    本节内容 一.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件语句: if 条件成立: val = 1 else: val = 2 改成三元运算: val = 1 if 条件成 ...

  9. python基础之 编码进阶,文件操作和深浅copy

    1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码.即先将其他编码的字符串解码(decode)成unicode,再从unic ...

随机推荐

  1. Nginx模块开发入门

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

  2. android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法

    1)获取运营商sim卡imsi号, String IMSI =android.os.SystemProperties.get( android.telephony.TelephonyPropertie ...

  3. Maven项目中如何添加日志

  4. 计算机程序和C++语言简介

    C++程序设计 第一章 计算机程序和C++语言简介 1.计算机是一台能够存储并处理数据的电子设备,包含硬件和软件两部分. 2.计算机硬件由: 1)中央处理单元(Central Processing U ...

  5. Java项目打包在CMD或者Linux下运行

    Java项目打包在CMD或者Linux下运行 1.在CMD下运行 在eclipse中将项目export成jar包,然后用压缩软件解压

  6. Linux - 查看系统的版本信息

    在 Linux 中,有多种方法可以查看系统的版本信息. uname 命令 huey@huey-K42JE:~$ uname -a Linux huey-K42JE 3.5.0-43-generic # ...

  7. ASP获取当前页面带参数的网址(URL地址)的方法

    '获取当前Url参数的函数 Function GetUrl() Dim ScriptAddress,Servername,qs ScriptAddress = CStr(Request.ServerV ...

  8. LINQ to Entities 不支持 LINQ 表达式节点类型“Invoke”

    解决方法即 where后加 .Compile()

  9. VMware下LINUX的虚拟机增加磁盘空间

    先关闭虚拟机电源,做如下设置:“ 虚拟机”--“虚拟机设置”--“磁盘”--“扩展” 可以随意添加你需要增到到的磁盘大小(如15Gb,表示磁盘总量,包含原来的磁盘容量); 再重启电源进入系统做如下步骤 ...

  10. vmware workstation 12 安装windows7 网卡不能安装驱动的问题

    在使用vmware workstation 12 安装windows7 之后,网卡不能安装驱动不能正常显示网络连接,需要修改该虚拟机的".vmx"配置文件 在配置文件中添加下面一行 ...