转:http://blog.csdn.net/gexiaobaohelloworld/article/details/7828110

python os模块

1. os.sep可以取代操作系统特定的路径分割符。

2. os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。

4. os.getenv()os.putenv()函数分别用来读取和设置环境变量。,,

7.os.system()函数用来运行shell命令。

8. os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。,

12. os.curdir返回当前目录('.')

,

os.path.getsize(name):获得文件大小,如果name是目录返回0L

os.path.abspath(name):获得绝对路径

os.path.normpath(path):规范path字符串形式

os.path.join(path,name):连接目录与文件名或目录

os.path.basename(path):返回文件名

os.path.dirname(path):返回文件路径

s = os.getcwd()

# s 中保存的是函数得到当前工作目录,即当前Python脚本工作的目录路径。

# -* - coding: UTF-8 -* -

importos

importtime

#在工作目录下创建一个“2012-08-06_13-20-29”这样的文件夹

folder = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())

os.makedirs(r'%s/%s'%(os.getcwd(),folder))

os.chdir( "C:\\123")

#将当前目录设为 "C:\123", 相当于DOC命令的 CD C:\123

#说明: 当指定的目录不存在时,引发异常。

fpath, fname = os.path.split( "c:\\123\\456\\test.txt" )

print fpath

print fname

显示:

c:\123\456

test.txt

# 事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在

fpathandname, fext = os.path.splitext( "c:\\123\\456\\test.txt" )

print fpathandname

print fext

显示:

c:\123\456\test

.txt

b = os.path.exists( "c:\\123\\456\\test.txt")

返回值b: True 或 False

b = os.path.isfile( "c:\\123\\456\\test.txt")

返回值b: True 或 False

b = os.path.isdir( "c:\\123\\456\\")

返回值b: True 或 False

L = os.listdir( "c:\\" )

print L

显示 :

['1.avi', '1.jpg', '1.txt', 'CONFIG.SYS', 'Inetpub', 'IO.SYS', 'KCBJGDJC', 'KCBJGDYB', 'KF_GSSY_JC', 'MSDOS.SYS', 'MSOCache', 'NTDETECT.COM', 'ntldr', 'pagefile.sys', 'PDOXUSRS.NET', 'Program Files', 'Python24', 'Python31', 'QQVideo.Cache', 'RECYCLER', 'System Volume Information', 'TDDOWNLOAD', 'test.txt', 'WINDOWS']

# 这里面既有文件也有目录

defgetDirList( p ):

p = str( p )

ifp=="":

return[ ]

p = p.replace("/","\\")

ifp[ -1] !="\\":

p = p+"\\"

a = os.listdir( p )

b = [ xforxinaifos.path.isdir( p + x ) ]

returnb

printgetDirList("C:\\")

结果:

['Documents and Settings', 'Downloads', 'HTdzh', 'KCBJGDJC', 'KCBJGDYB', 'KF_GSSY_JC', 'MSOCache', 'Program Files', 'Python24', 'Python31', 'QQVideo.Cache', 'RECYCLER', 'System Volume Information', 'TDDOWNLOAD', 'WINDOWS']

2 获取某指定目录下的所有文件的列表

defgetFileList( p ):

p = str( p )

ifp=="":

return[ ]

p = p.replace("/","\\")

ifp[ -1] !="\\":

p = p+"\\"

a = os.listdir( p )

b = [ xforxinaifos.path.isfile( p + x ) ]

returnb

printgetFileList("C:\\")

结果:

['1.avi', '1.jpg', '1.txt', '123.txt', '12345.txt', '2.avi', 'a.py', 'AUTOEXEC.BAT', 'boot.ini', 'bootfont.bin', 'CONFIG.SYS', 'IO.SYS', 'MSDOS.SYS', 'NTDETECT.COM', 'ntldr', 'pagefile.sys', 'PDOXUSRS.NET', 'test.txt']

os.makedirs(   "C:\\123\\456\\789")

调用有可能失败,可能的原因是:

(1) path 已存在时(不管是文件还是文件夹)

(2) 驱动器不存在

(3) 磁盘已满

(4)磁盘是只读的或没有写权限

os.rmdir( "c:\\123\\456\\" )

产生异常的可能原因:

(1) path 不存在

(2) path 子目录中有文件或下级子目录

(3) 没有操作权限或只读

# 测试该函数时,请自已先建立子目录。

os.remove(  "c:\\123\\456\\test.txt" )

产生异常的可能原因:

(1)   filename 不存在

(2) 对filename文件, 没有操作权限或只读。

os.name( oldfileName, newFilename)

产生异常的原因:

(1) oldfilename 旧文件名不存在

(2) newFilename 新文件已经存在时,此时,您需要先岀除 newFilename 文件

# -* - coding: UTF-8 -* -

# ! /usr/bin/python

spath ="D:\\myapps\\python\\HelloWorld.txt"

f = open(spath,"w")

f.write("First line 1.\n")

f.writelines("First line 2.")

f.close()

f = open(spath,"r")

forlineinf:

print("每一行的数据是:%s"% line)

f.close()

'''''

知识点: 如何读写文件

'''

# -* - coding: UTF-8 -* -

# ! /usr/bin/python

importos

importos.path

# os,os.path里包含大多数文件访问的函数,所以要先引入它们.

# 请按照你的实际情况修改这个路径

rootdir ="D:\\myapps\\python\\"

forparent, dirnames, filenamesinos.walk(rootdir):

# case 1:

fordirnameindirnames:

print(" parent is: "+ parent)

print(" dirname is: "+ dirname)

# case 2

forfilenameinfilenames:

print(" parent is: "+ parent)

print(" filename with full path : "+ os.path.join(parent, filename))

''''' 知识点:

* os.walk返回一个三元组.其中dirnames是所有文件夹名字(不包含路径),filenames是所有文件的名字(不包含路径).parent表示父目录.

* case1 演示了如何遍历所有目录.

* case2 演示了如何遍历所有文件.

* os.path.join(dirname,filename) : 将形如"/a/b/c"和"d.java"变成/a/b/c/d.java".

'''

# -* - coding: UTF-8 -* -

# ! /usr/bin/python

importos.path

# 常用函数有三种:分隔路径,找出文件名.找出盘符(windows系统),找出文件的扩展名.

# 根据你机器的实际情况修改下面参数.

spath ="D:\\myapps\\python\\1.py"

# case 1:

p,f = os.path.split(spath);

print(" dir is: "+ p)

print(" file is: "+ f)

# case 2:

drv,left = os.path.splitdrive(spath);

print(" driver is: "+ drv)

print(" left is: "+ left)

# case 3:

f,ext = os.path.splitext(spath);

print(" f is: "+ f)

print(" ext is: "+ ext)

'''''

知识点: 这三个函数都返回二元组.

* case1 分隔目录和文件名

* case2 分隔盘符和文件名

* case3 分隔文件和扩展名

'''

16,复制文件/文件夹

# -* - coding: UTF-8 -* -

# ! /usr/bin/python

importshutil

importos

importos.path

src ="D:\\myapps\\python\\2.py"

dst ="D:\\myapps\\python\\2.bak.py"

dst2="D:\\myapps\\2.bak2.py"

#判断源文件是否存在,如果不存在则生成一个src测试文件

dir1 = os.path.dirname(src)

print("dir1 %s "% dir1)

if(os.path.exists(src) ==False):

os.makedirs(dir1)

f1 = open(src,"w")

f1.write("line a\n")

f1.write("line b\n")

f1.close()

#拷贝文件src到dst

shutil.copyfile(src, dst)

shutil.copyfile(src, dst2)

#读取dst

f2 = open(dst,"r")

forlineinf2:

print(line)

f2.close()

# 测试复制文件夹树

try:

srcDir ="D:\\myapps"

dstDir ="D:\\myapps2"

# 如果dstDir已经存在,那么shutil.copytree方法会报错!

# 这也意味着你不能直接用d:作为目标路径.

shutil.copytree(srcDir, dstDir)

exceptException as err:

print(err)

'''''

知识点:

* shutil.copyfile:如何复制文件

* os.path.exists:如何判断文件夹是否存在

* shutil.copytree:如何复制目录树

'''

python的文件夹里面有什么_Python的文件及文件夹操作相关推荐

  1. python 读取文件到字典读取顺序_python顺序的读取文件夹下名称有序的文件方法...

    python顺序的读取文件夹下名称有序的文件方法 如下所示: import os path="/home/test/" #待读取的文件夹 path_list=os.listdir( ...

  2. python导入文件夹数据有改动_python办公自动化--批量修改文件/文件夹名称

    导语 今天我们来看下如何批量修改名称.这个需求在工作中比较常见的,日常生活中可能也有此类需求,比如,打包下载了一部连续剧或有声读物,每个文件名却被加上了网址.网站名称,还有一些莫名其妙的符号,整得特别 ...

  3. python对csv文件中的数据进行分类_python 数据处理 对csv文件进行数据处理

    数据如下图: 用python对数据进行处理: #读取csv文件内容并进行数据处理 import os import csv import datetime import re from itertoo ...

  4. python文件包括两种类型_python第六篇文件处理类型

    阅读目录 文件处理 上节课复习 文件处理b模式 文件处理其他模式 seek 的补充 迭代器和生成器 生成器函数 生产者和消费者类型 19天作业讲解 一 文件操作 一 介绍 计算机系统分为:计算机硬件, ...

  5. python第七章文件和数据格式化选择题_python第七章-文件和数据格式化

    1.文本文件 vs 二进制文件#文本形式打开文件 tf = open("f.txt", "rt") print(tf.readline()) tf.close( ...

  6. python读取文件夹下所有文件名_python如何获取当前文件夹下所有文件名详解

    前言 本文主要给大家介绍了关于python获取当前文件夹下所有文件名的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 os 模块下有两个函数: os.walk() os.li ...

  7. python给一列数据增加前缀_python自制工具----给文件添加前后缀。

    PreffixAndSuffix 类: import os class PreffixAndSuffix: def __init__(self): pass @staticmethod def add ...

  8. python如何输入多行数据合并_python 实现将txt文件多行合并为一行并将中间的空格去掉方法...

    有一个txt文本如下: 151 151 1234561 156421 214156 1523132 031320 现希望将两行合并为一行,并将中间所有的空格都去掉: (python编程第十章) 代码如 ...

  9. python提取xml的所有框坐标_python 提取批量xml文件中的坐标信息存入txt文件 xml文件转txt文件...

    读取多个xml文件中的坐标信息:xmin.xmax.ymin.ymax(实际为一个矩形框的坐标值),并通过简单的计算得到矩形框的长.宽,最后按照自己的需求读入到一个txt文档中 xml文件目录及文件如 ...

  10. python写xml文件 数据量特别大_python处理xml大文件[xml.sax]

    博客已迁移, 新地址 ===================== 今天遇到大文件处理,使用dom占用资源太多,改用sax处理 dom和sax区别可以自己google下 需求:读取xml数据文件,文件较 ...

最新文章

  1. 书评 —— 深入网站开发和运营
  2. php文件开放下载安全,php实现文件安全下载
  3. 是什么职位_为什么说,质量工程师岗位变成了 “寡妇职位”?
  4. 组合赋权法之matlab
  5. E06-libcrypto.so.10 遗失的解决办法
  6. RocketMQ在windows安装配置及使用
  7. 精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换
  8. mysql扩展函数创建临时表_MySQL函数中创建临时表
  9. MS17010漏洞利用总结
  10. 读取.xls文件报错:XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b‘MIME-Ver
  11. 安卓开发必须会的技能!Android性能优化最佳实践,知乎上转疯了!
  12. 电子护照阅读器|酒店机场高铁自助机录入系统
  13. 一位营销总监的辞职信(非常经典)
  14. Excel表格标题重复打印
  15. 如何让你画里的鱼,游进海里?
  16. Android 不得不知Tag的妙用
  17. 碰到spoolsv.exe-应用程序错误怎么办?
  18. 代码坏的味道07:依恋情结(Feature Envy)
  19. 【Rust 笔记】09-特型与泛型
  20. 【SCF CLI实践】腾讯云serverless + 企业微信群机器人,轻松解决告警通知问题

热门文章

  1. chrome linux 历史版本安装
  2. App Store杂谈
  3. STM32学习记录0003——STM32芯片解读
  4. shiro会话监听_shiro session 监听
  5. JavaSpring菜鸟教程,附Java面经
  6. java工程师可能需要的视频
  7. 接口测试-解析har文件
  8. gwr模型matlab代码,干货分享 | 地理加权回归GWR2020新版开源软件下载和使用
  9. 四款主流同步软件介绍
  10. 本地文件夹同步软件大全与性能比较(附下载链接)