返回顶部
首页 > 资讯 > 后端开发 > Python >Python使用os模块和fileinput模块来操作文件目录
  • 711
分享到

Python使用os模块和fileinput模块来操作文件目录

模块操作文件 2022-06-04 19:06:39 711人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

os模块 在python编程中,我们会经常使用到文件和目录,这些操作Python提供一个os模块,里面有很多操作文件和目录的函数. 下面介绍os的常用功能 1.获取当前路径 >>> o

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使用'rn',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

--结束END--

本文标题: Python使用os模块和fileinput模块来操作文件目录

本文链接: https://lsjlt.com/news/15530.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python使用os模块和fileinput模块来操作文件目录
    os模块 在python编程中,我们会经常使用到文件和目录,这些操作python提供一个os模块,里面有很多操作文件和目录的函数. 下面介绍os的常用功能 1.获取当前路径 >>> o...
    99+
    2022-06-04
    模块 操作 文件
  • python文件目录操作之os模块
    一、os函数目录 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作目录 3 os.chflags(path, ...
    99+
    2022-06-02
    Python os模块 python文件目录操作
  • Python os 模块文件操作
    #【Python】计算当前文件夹下所有文件的大小 import os all_files = os.listdir(os.curdir)            #os.curdir表示当前目录。也可使用'.' file_dict = dic...
    99+
    2023-01-31
    模块 操作 文件
  • python之OS模块(对文件or目录操
    OS模块  os,语义为操作系统,包含普遍的操作系统功能,与具体的平台无关。python编程时,处理文件和目录这些操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小……  os模块不受平台限制,也就是说:当我们要在linux...
    99+
    2023-01-31
    模块 文件 目录
  • python之文件操作、OS模块、CSV
    1 文件系统和文件 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件...
    99+
    2023-01-31
    模块 操作 文件
  • python文件目录操作之os模块的示例分析
    这篇文章将为大家详细讲解有关python文件目录操作之os模块的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几...
    99+
    2023-06-15
  • Python 程序设计入门(025)—— 使用 os 模块操作文件与目录
    Python 程序设计入门(025)—— 使用 os 模块操作文件与目录 目录 Python 程序设计入门(025)—— 使用 os 模块操作文件与目录一、操作目录的常用函数1、os 模块提供...
    99+
    2023-08-31
    python
  • Python文件处理、os模块、glob模块
    目录一、文件基本的操作1、open() 打开文件2、read() 读文件3、write()写文件:4、with open()方法二、文件的打开模式1、文件r打开模式1、读文本2、读字...
    99+
    2024-04-02
  • Python文件目录操作常用模块的使用详解
    目录1. os模块1.1 获取系统信息1.2  工作目录与路径相关的操作1.3 判断是否文件或目录以及指定文件目录是否存在1.5 串连创建或者分离一个文件目录路径1.6 执...
    99+
    2024-04-02
  • Python文件处理方法、os模块和glob模块怎么使用
    这篇“Python文件处理方法、os模块和glob模块怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python文件...
    99+
    2023-06-30
  • Python文件处理方法、os模块和glob模块如何使用
    这篇文章主要讲解了“Python文件处理方法、os模块和glob模块如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python文件处理方法、os模块和glob模块如何使用”吧!一、文...
    99+
    2023-07-06
  • python os模块和fnmatch模块的使用介绍
    目录一、先介绍一下os模块1、拆分路径的方法介绍2、构建文件路径的方法介绍3、获取文件属性的方法介绍4、判断文件的类型5、文件和目录操作6、修改文件属性和判断文件属性7、遍历目录树二...
    99+
    2024-04-02
  • python中os模块和sys模块怎么使用
    今天小编给大家分享一下python中os模块和sys模块怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、os模块o...
    99+
    2023-07-05
  • Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
    使用Python过程中,经常需要对文件和目录进行操作。所有file类/os/os.path/shutil模块时每个Python程序员必须学习的。 下面通过两段code来对其进行学习。 1. 学习 file对...
    99+
    2022-06-04
    模块 对象 操作
  • Python shutil模块(目录和文
    import shutil #导入shutil模块 copyfileobj方法 将类文件对象fsrc的内容复制到类文件对象fdst shutil.copyfileobj(fsrc, fdst[, length]) 我一般的用法...
    99+
    2023-01-30
    和文 模块 目录
  • python中os模块和sys模块的使用详解
    目录一、os模块二、os模块中的os.walk()函数三、sys模块一、os模块 os.getcwd() 获取当前的工作目录 os.chdir(‘绝对路径/相对于当前工作...
    99+
    2023-03-21
    python os模块 python sys模块
  • 关于Python OS模块常用文件/目录函数详解
    模块:包含定义函数和变量的python文件,可以被别的程序引入。 os模块是操作系统接口模块,提供了一些方便使用操作系统相关功能函数,这里介绍下os模块中对于文件/目录常用函数和使用方法。 返回当前文件目录:get...
    99+
    2022-06-02
    Python OS模块文件目录 Python OS模块函数
  • python中的sys模块和os模块怎么用
    今天小编给大家分享一下python中的sys模块和os模块怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.sys模块...
    99+
    2023-06-29
  • Python中 fileinput模块的作用是什么
    本篇文章为大家展示了Python中 fileinput模块的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一 简介  fileinput 是python 提供的一个可以...
    99+
    2023-06-04
  • 怎么使用Python模块os
    本篇内容主要讲解“怎么使用Python模块os”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python模块os”吧!os.getcwd()返回当前工作目录绝对路径Python ...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作