os模块在python编程中,我们会经常使用到文件和目录,这些操作python提供一个os模块,里面有很多操作文件和目录的函数.

下面介绍os的常用功能

1.获取当前路径

>>> os.getcwd()

'/root/python'

2.获取目录中的内容

>>> os.listdir(os.getcwd())

['deco.py', '6.py', 'inputfile.py', 'uniFile.py', 'oddnogen.py', 'ospathex.py', 'operate.py', 'bianliang.py', 'typecheck1.py']

3.创建目录

>>> os.mkdir('/root/pythontest')

一次性创建嵌套目录可使用os.makedirs,makedirs可以生成多层递归目录,removedirs可以删除多层递归的空目录,若目录中有文件则无法删除;os.system():运行shell命令;

>>> os.environ['HOME']

'/root'

>>> os.makedirs(os.path.join(os.environ['HOME'],'test','py'))

>>> os.system('ls -lR /root/test')

/root/test:

total 4

drwxr-xr-x 2 root root 4096 2013-03-29 17:27 py

/root/test/py:

total 0

0

4.改变工作目录

>>> os.getcwd()

'/root/python'

>>> os.chdir('/etc')

>>> os.getcwd()

'/etc'

5.删除目录

>>> os.rmdir('/root/pythontest')

>>>

注:删除目录必须是空目录

6.删除文件

>>> os.remove('/root/pytest.py')

7.重命名文件或者目录

>>> os.rename('/root/pytest.py','/root/test.py')

8.字符串给出当前平台使用的终止符,例如:Windows使用'\r\n',Linux使用'\n'

>>> os.linesep

'\n'

以下是os.path模块

9.判断是否是目录

>>> os.path.isdir('/root/python')

True

10.判断是否为文件

>>> os.path.isfile('/root/python')

False

11.返回一个路径的目录名和文件名

>>> os.path.split(os.getcwd())

('/root', 'python')

12.判断是否存在文件或目录name

>>> os.path.exists('/root')

True

>>> os.path.exists('/root/1.py')

False

13.获得文件大小

>>> os.path.getsize('/root/python/if.py')

282

14.返回文件路径,返回文件名

>>> os.path.dirname('/root/python/if.py')

'/root/python'

>>> os.path.basename('/root/python/if.py')

'if.py'

15.连接目录与文件名或目录

>>> os.path.join('/dave/test/','1.py')

'/dave/test/1.py'

判断一个目录里哪些是文件哪些是目录.

>>> for file in os.listdir('/root/python'):

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

... print file,"is a directory"

... else:

... print file,"is a file"

...

deco.py is a file

inputfile.py is a file

operate.py is a file

hello.pyc is a file

userpw.py is a file

4.py is a file

answer is a directory

fileinput模块fileinput模块可以遍历文本文件的所有行.它的工作方式和readlines很类似,不同点在于,它不是将全部的行读到列表中而是创建了一个xreadlines对象.

下面是fileinput模块中的常用函数

input() #它会返回能够用于for循环遍历的对象.

filename() #返回当前文件的名称

lineno() #返回当前(累计)的行数

filelineno() #返回当前文件的行数

isfirstline() #检查当前行是否是文件的第一行

close() #关闭序列

>>> import fileinput

>>> for eachline in fileinput.input("/root/datafile.txt"):

... print eachline

...

Dave

python

>>> for eachline in fileinput.input("/root/datafile.txt"):

... print fileinput.filename()

...

/root/datafile.txt

/root/datafile.txt

>>> for eachline in fileinput.input("/root/datafile.txt"):

... print fileinput.lineno(),eachline

...

1 Dave

2 python

>>> for eachline in fileinput.input("/root/datafile.txt"):

... if fileinput.isfirstline():

... print eachline

... else:

... break

...

Dave

下面是一个关于日志分析的小实例,将日志中截取匹配的电话号码,如800-333-1212

root@10.1.1.45:~# cat telphone.log

027-987-1212

02187899682

021-110-9632

root@10.1.1.45:~# cat fileinputtest.py

#!/usr/bin/python2.5

import fileinput

import sys

import re

pattern = "\d{3}-\d{3}-\d{4}"

filePath = "/root/telphone.log"

for eachline in fileinput.input(filePath):

a = re.search(pattern,eachline)

if a:

# sys.stdout.write("============\n")

# sys.stdout.write(eachline)

print "============"

print 'line:',fileinput.lineno(),'filename:',fileinput.filename(),'length:',len(eachline.strip('\n')),eachline

root@10.1.1.45:~# ./fileinputtest.py

============

line: 1 filename: /root/telphone.log length: 12 027-987-1212

============

line: 3 filename: /root/telphone.log length: 12 021-110-9632

python os模块创建文件_Python使用os模块和fileinput模块来操作文件目录相关推荐

  1. python 打开路径下文件_Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法...

    在python3.6版本中去掉了os.path.walk()函数 os.walk() 函数声明:walk(top,topdown=True,oneerror=None) 1.参数top表示需要遍历的目 ...

  2. python open函数创建文件_python中怎样使用open创建文件?

    我们在使用open函数的时候,一般用到的都是打开的功能,这和小伙伴们平常理解的名称意思是一致的.其实我们还可以使用open函数来创建一个file,也就是文本文件.在开始创建之前,我们需要对open函数 ...

  3. python多线程执行其他模块的文件_python并发编程--进程线程--其他模块-从菜鸟到老鸟(三)...

    concurrent模块 1.concurrent模块的介绍 concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 Proc ...

  4. python os模块创建文件夹_Python创建文件夹与文件的快捷方法

    前言 Python快捷创建文件夹和文件详解 自己做文件时发现  简单的反复操作十分浪费时间,于是想到了 使用Python,这个分享给大家,快捷高效办公. 项目目录 file11 创建文件夹 file2 ...

  5. python读写、创建文件、文件夹

    python读写.创建文件.文件夹 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcw ...

  6. python读写、创建文件、文件夹等等

    Python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd() 返回指定目录下的所有文件和目录 ...

  7. python读取所有txt文件_python如何批量读取txt文件

    python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称:最后遍历文件夹,读取txt文件. 如果文件 ...

  8. python怎么批量读取文件_python如何批量读取txt文件

    原标题:python如何批量读取txt文件 python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称 ...

  9. python利用pyside2创建文件夹选择框,文件选择框(无小窗口)

    python利用pyside2创建文件夹选择框,文件选择框(无小窗口) 文件夹选择框 文件选择框 文件多选框 之前利用win32ui创建文件选择窗口非常好用,但是想使用文件夹选择窗口发现行不通.利用t ...

最新文章

  1. kafka单节点部署无法访问问题解决
  2. Shell脚本Ping监控主机是否存活并发邮件报警(三种方法)
  3. HTML---百度新闻轮播图--定位练习
  4. kali卸载firefox_kali 安装最新firefox的悲惨经历
  5. 故宫商业大跃进 逐渐失控的IP洪流
  6. FPGA verilog基本外设练习(五)-串口通信
  7. 如何选择外贸网站服务器?
  8. 03.设计模式之工厂模式
  9. 白杨SEO:淘宝客、淘客是什么、赚钱方式及怎么入门和推广引流?
  10. 区块链未来前景及运用领域
  11. 在K8s上轻松部署Tungsten Fabric的两种方式
  12. SoftwareSerial库的使用——Arduino软件模拟串口通信
  13. java 汉字转拼音工具_java汉字转拼音工具类
  14. 计算机科学计算的方面,计算机的科学计算功能在工程领域中的应用.doc
  15. 100道前端近年面试题(内含详细答案)
  16. Redis 集群搭建及集群管理工具
  17. Anaconda安装Jupyter Notebook的常用方法(安装失败解决方法)
  18. 怎样识别他人是不是在说谎
  19. 融云发送图片消息_融云IM SDK集成,Server API 发送图片消息时,缩略图生成逻辑说...
  20. 可以提高工作效率的应用工具,你知道几个呢

热门文章

  1. el表达式原样输出问题
  2. 调试中除了在URL上加时间戳外,如何避免js、css被返回304状态?
  3. Kinect 开发 —— 近距离探测
  4. Dynatable – 基于 HTML5 jQuery 的交互表格插件
  5. python遍历目录树 除文件_python遍历目录树删除指定后缀的文件
  6. 魔改部署自己专属的合成大西瓜(三:上线篇<踩坑篇>)
  7. Windows安装CUDAcuDNNanaconda
  8. Gstreamer加载插件原理(二十五)
  9. Android Studio NDK报错:mips64el-linux-android-strip 找不到
  10. emacs自动连接mysql数据库