python 遍历文件内容判断遍历出来了文件只有一个mp4文件就改名

python 遍历出了目录,把所有mp4文件都上移一个文件夹_百度知道
python 遍历出了目录,把所有mp4文件都上移一个文件夹
import ospath=&F:\\xxzz\\Bootstrap&for i in os.walk(path):
print(i)我想把所有子目录中的 .mp4文件都往上移一个文件夹,应该怎么写
我有更好的答案
import&ospath='F:\\xxzz\\Bootstrap'&&#要遍历的目录for&root,dirs,names&in&os.walk(path):&&&&for&name&in&names:&&&&&&&&ext=os.path.splitext(name)[1]&&&#获取后缀名&&&&&&&&&&&&&&&&&&&&if&ext=='.mp4':&&&&&&&&&&&&fromdir=os.path.join(root,name)&&#mp4文件原始地址&&&&&&&&&&&&moveto=os.path.join(os.path.dirname(root),name)&&##dirname&上一层目录&&&&&&&&&&&&os.rename(fromdir,moveto)&&#移动文件
采纳率:80%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。请使用支持脚本的浏览器!
该日志尚未公开,你暂时不能查看。博主可在此
不如去逛逛吧。
网易公司版权所有&&&读取python遍历中文目录得到的文件路径报错_百度知道
读取python遍历中文目录得到的文件路径报错
各位朋友们好,我是一名python新手,现在遇到一个问题,恳请各位朋友们能指点一下我。
我的环境是:ubuntu14.04系统,python2.7
用python遍历一个目录,目录层次结构如下:
这是主目录: /home/chaoma/superboard/mydata/input/production
我有更好的答案
这是因为路径里面包含中文的原因:linux的系统字符编码默认为utf-8,而要搜索的文件路径nameFile是Unicode,需要进行解码成unicode,因此作如下修改:fout&=&codecs.open(nameFile.encode(&utf-8&)&,&&w&&,&&utf-8&当然,另外一种方法就是修改为英文的路径;关于编码和解码的知识,请参考:
采纳率:64%
来自团队:
linux 的系统字符编码通常为utf-8,你的nameFile文件名称似乎是经过解码成unicode的,需要在按系统字符集编码进行处理:OS_CHARSET&=&'utf-8'&&&&...&&&&fout&=&codecs.open(nameFile.encode(OS_CHARSET),&'w',&'utf-8')&&&&...
本回答被网友采纳
建议你把代码都贴出来, 另外,你的文件系统本身是什么编码? 即你的文件系统里那些中文文件、目录的名字本身用的什么编码。恐怕不是 utf-8 吧
为您推荐:
其他类似问题
python的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。11:10 提问
读取python遍历中文目录得到的文件路径报错
各位朋友们好,我是一名python新手,现在遇到一个问题,恳请各位朋友们能指点一下我。
我的环境是:ubuntu14.04系统,python2.7
用python遍历一个目录,目录层次结构如下:
这是主目录: /home/chaoma/superboard/mydata/input/production
主目录下的目录层次结构如下
--超级画板教学资源_全处理_772
-- Z+Z资源库
--初中数学资源库
---1.1数的分类
-- name.txt
--2一元一次方程
--动态解析高考数学综合题
--第一章基本函数
--06福建理21
--name.txt
--拓展练习4.1
--第二章三角函数
--学生作品集合_全处理_52
我想实现的功能:找到所有含有0.mp4文件的父目录,并读取该父目录下面的name.txt文件
因此我写了以下的遍历函数来实现这一功能:
def visitDir_walk(path , sFileSuffix):
codedetect = chardet.detect(path)["encoding"]
path = unicode(path , codedetect)
fileNames = list()
for root,dirs,files in os.walk(path):
for i in range(0 , len(files)):
file = files[i]
if file.endswith(sFileSuffix):
sFileName =
os.path.join(root , file)
#这边返回的应该是包含视频文件的父目录,也就是学生作品目录
realFileName = os.path.split(os.path.abspath(sFileName))[0]
fileNames.append( unicode(realFileName,”gbk”) )
return fileNames
def main():
sProductionInputPath = “/home/chaoma/superboard/mydata/input/production”
dir_production_list
visitDir_walk(sProductionInputPath , ".mp4")
#拼接name.txt的路径
for dir in dir_production_list:
nameFile = os.path.join(dir , "name.txt")
fout = codecs.open(nameFile , "w" , "utf-8")
#截取出路径中的文件名作为需要的内容,并写入文件
fout.write(os.path.split(path)[1])
fout.close()
但是执行之后却报错了,报错如下:
fout = codecs.open(nameFile , "w" , "utf-8")
File "/usr/lib/python2.7/codecs.py", line 878, in open
file = builtin.open(filename, mode, buffering)
IOError: [Errno 2] No such file or directory: u'/home/chaoma/superboard/mydata/input/production/\u8d85\u7ea7\u753b\u677f\u\u8d44\u6e90_\u\u/\u52a8\u\u\u\u5b66\u7efc\u/\u7b2c\u4e00\u7ae0\u57fa\u672c\u51fd\u6570/\u7b2c\u56db\u8f\u5efa\u740621/name.txt'
打印这个报错的路径得到:
/home/chaoma/superboard/mydata/input/production/超级画板教学资源_全处理_772/动态解析高考数学综合题/第一章基本函数/第四节/06福建理21/name.txt
这个文件路径是存在的却报错,不知道为什么。难道是路径是unicode类型就不能识别吗?
恳请各位朋友们能指点我一下,十分感谢。
按赞数排序
尽量不要用中文,然后可以把你的一部分文件传到百度网盘,帮你看看
如果是字符编码的问题,是否可以尝试
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
或者干脆别遍历了。执行下搜索程序,找到对应的文件,依次打开
relation_file = os.system('find . -name "name.txt" ')
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐python或者bat怎么遍历文件夹下所有文件和文件夹然后修改后缀?_百度知道
python或者bat怎么遍历文件夹下所有文件和文件夹然后修改后缀?
一个文件夹下,有各种各样的文件和文件夹,有可能有后缀(假设为字符串x),想要去掉
文件夹是这样的:“文件夹名x”;文件名是这样的:“文件名x.后缀名”现在想要去掉的是x
我有更好的答案
先遍历所有文件:from&os&import&walkf&=&[]for&(dirpath,&dirnames,&filenames)&in&walk(mypath):&&&&f.extend(filenames)&&&&break
采纳率:70%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 python 遍历文件 的文章

 

随机推荐