python语言可以处理数据文件吗_对于Python语言进行处理文件解读

news/2024/7/7 7:15:42

如何在Python语言中复制和删除文件,以及怎样将一个完整的文件路径分解成目录部分和文件名部分,***,我们讲解目录的创建,以及如何在目录树中移动目录并处理文件。

对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数。重要的是,这些函数无论是在Unix、Windows还是Macintosh平台上,它们的使用方式是完全一致的。本文将详细解释这些函数的使用方法。

首先,我们介绍

之后,我们还将介绍如何删除文件和目录,如何复制和删除文件,以及怎样将一个完整的文件路径分解成目录部分和文件名部分,***,我们讲解目录的创建,以及如何在目录树中移动目录并处理文件。

一、显示目录内容当我们想要列出当前目录中所示:origdir=os.getcwd() # 将当前位置记下来

newdir=os.path.join(os.pardir, ’mynewdir’)

if not os.path.isdir(newdir):

os.mkdir(newdir) # 或者os.mkdir(newdir,’0755’)

os.chdir(newdir)

...

os.chdir(origdir) # 返回原目录

os.chdir(os.environ[’HOME’]) # 移到主目录

上述代码使用了glob函数,该函数的参数为要显示的文件类型。在这里,文件类型是通过类似UNIX操作系统shell风格通配符描述的一些文件名来指定的。这些通配符的使用方法,具体请参考fnmatch模块的文档,那里有具体的说明和示例。为了显示一个目录中的全部文件,可以使用如下所示的os.listdir函数:def checksize1(arg, dirname, files):

for file in files:

filepath=os.path.join(dirname, file)

if os.path.isfile(filepath):

size=os.path.getsize(filepath)

if size>1000000:

sizesize_in_Mb= size/1000000.0

arg.append((size_in_Mb, filename))

bigfiles= []

root=os.environ[’HOME’]

os.path.walk(root, checksize1, bigfiles)

for size, name in bigfiles:

print name, ’大小为’, size, ’Mb’

我们知道,文件名、目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名、目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfile函数、isdir函数和islink函数来达成我们的目标。

若要删除单个文件的话,可以使用os.remove函数,例如:os.remove(’mydata.dat’)。Os.remove的别名是os.unlink。不过后者跟传统的UNIX操作系统以及Perl中清除文件的函数重名。我们可以使用下列方式来删除一组文件,如所有以.jpg以及*.gif为扩展名的文件:def somefunc(arg, dirname, files):

origdir=os.getcwd(); os.chdir(dirname)

os.chdir(origdir)

os.path.walk(root, somefunc, arg)

大家知道,只有当目录中内容已经被清空的时候,我们才可以使用rmdir命令来删除该目录。不过,我们经常想要删除一个含有许多文件的目录树,这时我们可以使用shutil模块提供的rmtree函数,如下所示:def somefunc(arg, dirname, files):

origdir=os.getcwd(); os.chdir(dirname)

os.chdir(origdir)

os.path.walk(root, somefunc, arg)

它实际上是过于严厉。我们需要的只是一个被遍历的一个文件/目录名序列。实际上,我们并不关心名称是否存储在一个列表、元组或者数值数组中,所以更好的测试应该像下面这样

假设我们想要在自己的主目录下创建一个新目录py/src/test1,但是目前py、src和test1都不存在。如果使用mkdir命令来创建的话。需要使用三次才能建好这个嵌套的目录,但是使用Python语言提供的os.makedirs命令的话,则无需这样麻烦了,该命令可以一次建好整个目录。

【编辑推荐】

【责任编辑:苏越 TEL:(010)68476606】

点赞 0


http://www.niftyadmin.cn/n/3091680.html

相关文章

java内存区域与对象的访问

我们都知道,在学习java的时候,有一个东西是特别重要的,那就是java内存的划分,以及对象的访问是如何进行的,下面是我自己在一些书籍上整理的,学完了之后感觉特别有用!!! …

mysql5.6.20配置文件my.cnf参数详解

服务器为硬件dell-R710,硬盘为双SSD硬盘130G,服务器有两颗CPU,单颗cpu为12核,服务器在安装系统时CPU开启了超线程。逻辑cpu为48核。 此服务器为单纯的mysql服务器,此配置文件的参数主要是供笔者平时优化my.cnf作为参考。广大读者切…

java多线程中的等待唤醒机制--多生产者多消费者问题

在java多线程中,等待唤醒机制是最经典的也是最能够体现java多线程中的线程安全的问题,在写等待唤醒机制的时候,我们要先去了解什么是等待唤醒机制 等待唤醒机制就是指在多个线程进行并发的去操作同一个资源的问题, 以生产馒头和…

python作业代做_代做MATH 6141作业、代写Python课程设计作业、代做algorithms作业、代做Python编程作业...

代做MATH 6141作业、代写Python课程设计作业、代做algorithms作业、代做Python编程作业 日期:2018-12-05 11:11 Coursework 2: MATH 3018/MATH 6141 - Numerical methods Due: 13 December 2018 In this coursework you will implement given numerical algorithms.…

偏门套路:每天被动吸引150+精准淘宝粉

网上关于引流技巧的文章五花八门,看得你热血澎湃,但往往搞一两天大多数人就放弃了,甚至看完后根本没去操作。最后还抱怨:为什么我看了那么多东西还是赚不到钱!虽然我十分鄙视这种浮躁的心态,但也能够理解和体谅大家。因…

使用hibernate中的hql进行分页设置setMaxResults(int a)出错

今天在自己写项目的时候在进行hibernate分页的时候设置setMaxResults(int a)的时候一直出现错误 org.hibernate.exception.SQLGrammarException: could not execute queryat org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)at org.hibernate.e…

python数据分类_在python中将数据分类为具有相同间隔大小的n类别

假设我想将以下数据分类为12类: no. grades 0 9.08 1 8.31 2 7.42 3 7.42 4 7.42 5 7.46 6 9.67 7 11.77 8 8.81 9 6.44 10 9.40 11 9.06 12 10.52 13 6.19 14 5.04 15 5.04 16 9.44 17 5.87 18 2.67 19 6.99 20 9.08 21 6.64 22 4.83 23 4.47 24 6.61 25 6.61 26 7…

前后台JSON传值得一个问题和异常处理net.sf.json.JSONException: Unquotted string 'name'...

项目中做导入的时候遇到个bug,用JSON.stringify()序列号json对象传给后台;然后后台通过getPatameter()获取值时,前台的英文引号变成了中文引号。 原来代码如下:(自己排查发现就算是英文的时候也是如此) //提…