python批量修改文件名 如何获得输入文件的文件名

python获取指定目录下所有文件名列表的方法
作者:网海水手
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了python获取指定目录下所有文件名列表的方法,涉及Python目录及文件操作的相关技巧,需要的朋友可以参考下
本文实例讲述了python获取指定目录下所有文件名列表的方法。分享给大家供大家参考。具体实现方法如下:
这里python代码实现获取文件名列表的功能,可以指定文件中包含的字符,方便提取特定类型的文件名列表:
# -*- coding: utf-8 -*-
#~ #------------------------------------------------------------------
#~ module:wlab
#~ Filename:wgetfilelist.py
#~ Function :
#~ def IsSubString(SubStrList,Str)
#~ def GetFileList(FindPath,FlagStr=[]):
#~ 功能:读取指定目录下特定类型的文件名列表
#~ Data: ,星期四
#~ Author:吴徐平
#~ #------------------------------------------------------------------
#~ #------------------------------------------------------------------
def IsSubString(SubStrList,Str):
#判断字符串Str是否包含序列SubStrList中的每一个子字符串
#&&&SubStrList=['F','EMS','txt']
#&&&Str='F06925EMS91.txt'
#&&&IsSubString(SubStrList,Str)#return True (or False)
for substr in SubStrList:
if not(substr in Str):
flag=False
return flag
#~ #----------------------------------------------------------------------
def GetFileList(FindPath,FlagStr=[]):
#获取目录中指定的文件名
#&&&FlagStr=['F','EMS','txt'] #要求文件名称中包含这些字符
#&&&FileList=GetFileList(FindPath,FlagStr) #
FileList=[]
FileNames=os.listdir(FindPath)
if (len(FileNames)&0):
for fn in FileNames:
if (len(FlagStr)&0):
#返回指定类型的文件名
if (IsSubString(FlagStr,fn)):
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
#默认直接返回所有文件名
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
#对文件名排序
if (len(FileList)&0):
FileList.sort()
return FileList
可以使用pip在线安装wlab
pip install wlab
还是给个图吧:
希望本文所述对大家的Python程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Python 基础教程
Python 文件I/O
本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档。
打印到屏幕
最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式。此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
print "Python 是一个非常棒的语言,不是吗?";
你的标准屏幕上会产生以下结果:
Python 是一个非常棒的语言,不是吗?
读取键盘输入
Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘。如下:
raw_input函数
raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = raw_input("请输入:");
print "你输入的内容是: ", str
这将提示你输入任意字符串,然后在屏幕上显示相同的字符串。当我输入"Hello Python!",它的输出如下:
请输入:Hello Python!
你输入的内容是:
Hello Python!
input([prompt]) 函数和 raw_input([prompt]) 函数基本类似,但是 input 可以接收一个Python表达式作为输入,并将运算结果返回。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = input("请输入:");
print "你输入的内容是: ", str
这会产生如下的对应着输入的结果:
请输入:[x*5 for x in range(2,10,2)]
你输入的内容是:
[10, 20, 30, 40]
打开和关闭文件
现在,您已经可以向标准输入和输出进行读写。现在,来看看怎么读写实际的数据文件。
Python 提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用 file 对象做大部分的文件操作。
你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
file object = open(file_name [, access_mode][, buffering])
各个参数的细节如下:
file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
不同模式打开文件的完全列表:
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
File对象的属性
一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息。
以下是和file对象相关的所有属性的列表:
file.closed返回true如果文件已被关闭,否则返回false。
file.mode返回被打开文件的访问模式。
file.name返回文件的名称。
file.softspace如果用print输出后,必须跟一个空格符,则返回false。否则返回true。
如下实例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打开一个文件
fo = open("foo.txt", "wb")
print "文件名: ", fo.name
print "是否已关闭 : ", fo.closed
print "访问模式 : ", fo.mode
print "末尾是否强制加空格 : ", fo.softspace
以上实例输出结果:
是否已关闭 :
访问模式 :
末尾是否强制加空格 :
close()方法
File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。
fileObject.close();
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打开一个文件
fo = open("foo.txt", "wb")
print "文件名: ", fo.name
# 关闭打开的文件
fo.close()
以上实例输出结果:
读写文件:
file对象提供了一系列方法,能让我们的文件访问更轻松。来看看如何使用read()和write()方法来读取和写入文件。
write()方法
write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
write()方法不会在字符串的结尾添加换行符('\n'):
fileObject.write(string);
在这里,被传递的参数是要写入到已打开文件的内容。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打开一个文件
fo = open("foo.txt", "wb")
fo.write( "!\nVery good site!\n");
# 关闭打开的文件
fo.close()
上述方法会创建foo.txt文件,并将收到的内容写入该文件,并最终关闭文件。如果你打开这个文件,将看到以下内容:
$ cat foo.txt
Very good site!
read()方法
read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
fileObject.read([count]);
在这里,被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。
这里我们用到以上创建的 foo.txt 文件。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打开一个文件
fo = open("foo.txt", "r+")
str = fo.read(10);
print "读取的字符串是 : ", str
# 关闭打开的文件
fo.close()
以上实例输出结果:
读取的字符串是 :
www.runoob
文件位置:
tell()方法告诉你文件内的当前位置;换句话说,下一次的读写会发生在文件开头这么多字节之后。
seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。
就用我们上面创建的文件foo.txt。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打开一个文件
fo = open("foo.txt", "r+")
str = fo.read(10);
print "读取的字符串是 : ", str
# 查找当前位置
position = fo.tell();
print "当前文件位置 : ", position
# 把指针再次重新定位到文件开头
position = fo.seek(0, 0);
str = fo.read(10);
print "重新读取字符串 : ", str
# 关闭打开的文件
fo.close()
以上实例输出结果:
读取的字符串是 :
www.runoob
当前文件位置 :
重新读取字符串 :
www.runoob
重命名和删除文件
Python的os模块提供了帮你执行文件处理操作的方法,比如重命名和删除文件。
要使用这个模块,你必须先导入它,然后才可以调用相关的各种功能。
rename()方法:
rename()方法需要两个参数,当前的文件名和新文件名。
os.rename(current_file_name, new_file_name)
下例将重命名一个已经存在的文件test1.txt。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 重命名文件test1.txt到test2.txt。
os.rename( "test1.txt", "test2.txt" )
remove()方法
你可以用remove()方法删除文件,需要提供要删除的文件名作为参数。
os.remove(file_name)
下例将删除一个已经存在的文件test2.txt。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 删除一个已经存在的文件test2.txt
os.remove("test2.txt")
Python里的目录:
所有文件都包含在各个不同的目录下,不过Python也能轻松处理。os模块有许多方法能帮你创建,删除和更改目录。
mkdir()方法
可以使用os模块的mkdir()方法在当前目录下创建新的目录们。你需要提供一个包含了要创建的目录名称的参数。
os.mkdir("newdir")
下例将在当前目录下创建一个新目录test。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 创建目录test
os.mkdir("test")
chdir()方法
可以用chdir()方法来改变当前的目录。chdir()方法需要的一个参数是你想设成当前目录的目录名称。
os.chdir("newdir")
下例将进入"/home/newdir"目录。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 将当前目录改为"/home/newdir"
os.chdir("/home/newdir")
getcwd()方法:
getcwd()方法显示当前的工作目录。
os.getcwd()
下例给出当前目录:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 给出当前的目录
os.getcwd()
rmdir()方法
rmdir()方法删除目录,目录名称以参数传递。
在删除这个目录之前,它的所有内容应该先被清除。
os.rmdir('dirname')
以下是删除" /tmp/test"目录的例子。目录的完全合规的名称必须被给出,否则会在当前目录下搜索该目录。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 删除&/tmp/test&目录
os.rmdir( "/tmp/test"
文件、目录相关的方法
三个重要的方法来源能对Windows和Unix操作系统上的文件及目录进行一个广泛且实用的处理及操控,如下:
: file对象提供了操作文件的一系列方法。
: 提供了处理文件及目录的一系列方法。&python提取文件名脚本
秒后自动跳转到登录页
(奖励5下载豆)
快捷登录:
举报类型:
不规范:上传重复资源
不规范:标题与实际内容不符
不规范:资源无法下载或使用
其他不规范行为
违规:资源涉及侵权
违规:含有危害国家安全等内容
违规:含有反动/色情等内容
违规:广告内容
详细原因:
任何违反下载中心规定的资源,欢迎Down友监督举报,第一举报人可获5-10下载豆奖励。
程序员/设计师能用上
cissp 450Q参考题库
七夕节-程序员表白源
运维必备Python基础
IT面试之2015届校招
新版Python官方入门
需求碎片化时代,从
python提取文件名脚本
上传时间:
技术分类:
资源评价:
(5位用户参与评价)
已被下载&157&次
程序能遍历指定目录下的所有文件并提取指定后缀名的文件名存储到指定文件中,可以用它来获取某个目录下某种特定类型的所有文件名。
本资料共包含以下附件:
list_name.rar
51CTO下载中心常见问题:
1.如何获得下载豆?
1)上传资料
2)评论资料
3)每天在首页签到领取
4)购买VIP会员服务,无需下载豆下载资源
5)更多途径:点击此处
2.如何删除自己的资料?
下载资料意味着您已同意遵守以下协议:
1.资料的所有权益归上传用户所有
2.未经权益所有人同意,不得将资料中的内容挪作商业或盈利用途
3.51CTO下载中心仅提供资料交流平台,并不对任何资料负责
4.本站资料中如有侵权或不适当内容,请邮件与我们联系()
5.本站不保证资源的准确性、安全性和完整性, 同时也不承担用户因使用这些资料对自己和他人造成任何形式的伤害或损失
下载1438次
下载2317次
下载2877次
下载2342次
相关专题推荐
还记得童年时候我们经常留恋的这些经
Ruby是一种功能强大的面向对象的脚本
本专题资源是由《深入浅出WPF》作
本专题为您囊括了国外游戏设计与编程
随着网络的发展,各种网站层出不穷,
随着互联网的发展,个人网站层出不穷
Python是一种面向对象、直译式设计语
经常会看到一些比较不错的程序,如何
51CTO开发频道推出《开发月刊》电子杂
本套电子书包含北大青鸟网络教学的全
易语言是一门计算机程序语言。以“易
WPF是基于Vista的用户界面框架,它向
本专题为游戏制作教学视频,视频格式
本专题收集了tangible software solu
本课程针对很少或毫无编程经验的学生
中山大学Delphi面向对象程序设计(采
本周下载热点
意见或建议:
联系方式:
您已提交成功!感谢您的宝贵意见,我们会尽快处理下次自动登录
现在的位置:
& 综合 & 正文
python 获取当前行号 函数名 文件名
python 获取当前位置所在的函数名和行号
在C/C++调试中经常用到的几个宏:__FILE__、__FUNCTION__、__LINE__,最近写python程序遇到问题调试时也想用下这种方式,找了下网上资料,发现这个问题还有不少人问,估计都是像我这种刚从C/C++转到python的吧。python中获取当前位置所在的函数名和行号都封装在sys中,获取方法如下:
import sys
def get_cur_info():
print sys._getframe().f_code.co_filename
#当前文件名,可以通过__file__获得
print sys._getframe().f_code.co_name
#当前函数名
print sys._getframe().f_lineno #当前行号
get_cur_info()
其他函数请参考:dir(sys._getframe()).
&&&&推荐文章:
【上篇】【下篇】你的位置: >
> python 2.7文件操作使用方法和范例
python中用open方法打开一个文件,打开成功后返回一个文件对象句柄。
handle = open(file_name, access_mode = 'r')
file_name 表示打开的文件名,确实的说应该是文件的路径。
access_mode表示打开模式。模式有下列几种:
r 表示读取
w 表示写入
a 表示追加内容
往文件写入内容的示例:
#!/usr/bin/env python
fname = './text.txt'
fobj = open(fname, 'w')
except IOError, e:
print &file open error&, e
txts.append('tom 22')
txts.append('anny 18')
fobj.writelines(['%s%s' % (x, os.linesep) for x in txts])
fobj.close()
其中os.linesep表示换行符号。
追加内容的示例:
如果要追加内容,就把上例的’w’改成’a’就可以了。这样往文件里写入内容就会在文件的后面追加。
读取一个文件的示例:
#!/usr/bin/env python
fname = './text.txt'
fobj = open(fname, 'r')
except IOError, e:
print &file open error&, e
for eachLine in fobj:
print eachLine,
fobj.close()
转载请注明: &
与本文相关的文章

我要回帖

更多关于 python 获得文件名 的文章

 

随机推荐