爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 16778|回复: 15

[求助] python 对文件名的批量读取

[复制链接]

新浪微博达人勋

发表于 2017-12-14 00:02:18 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
最近遇到批量处理问题,哪位大神分享下一个文件夹下对有规律文件名和所有文件的批量读取代码?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-15 19:19:40 | 显示全部楼层
for year in range(1981,2011):
    for mon in range(1,13):
        filenamestr=str(year)+'%02d'%mon

出来的结果就是filenamestr=198101,198102,,,,,,,198112,198201,,,,,,,,201012
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2017-12-14 08:27:55 | 显示全部楼层
“有规律”太泛了,要么字符串慢慢加,要么正则表达式re里面凑好了

所有文件或者所有类似命名法的文件,我建议用 glob.glob('./*')   glob.glob('/path/thisisfile*.nc')
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-14 09:48:09 | 显示全部楼层
weinihou 发表于 2017-12-14 08:27
“有规律”太泛了,要么字符串慢慢加,要么正则表达式re里面凑好了

所有文件或者所有类似命名法的文件, ...

你这个应该是把所有文件的后缀换成.nc吧?那如果本身后缀是.nc.tmp,这种我想去掉.tmp,你有没有什么好的建议啊?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-14 12:22:59 | 显示全部楼层
rabin_xu 发表于 2017-12-14 09:48
你这个应该是把所有文件的后缀换成.nc吧?那如果本身后缀是.nc.tmp,这种我想去掉.tmp,你有没有什么好的 ...


没看懂你的问题……
lz你自己试试呗,或者说得再清楚些
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-12-14 14:09:18 | 显示全部楼层
weinihou 发表于 2017-12-14 12:22
没看懂你的问题……
lz你自己试试呗,或者说得再清楚些


例如读取 201701……201712.nc这样的文件名,可否分享下模读取代码板之类的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-14 21:23:00 | 显示全部楼层
weinihou 发表于 2017-12-14 12:22
没看懂你的问题……
lz你自己试试呗,或者说得再清楚些

就是文件名是.nc.tmp结尾,怎么批量把.tmp去掉,你有没有什么建议?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-15 10:47:27 | 显示全部楼层
rabin_xu 发表于 2017-12-14 21:23
就是文件名是.nc.tmp结尾,怎么批量把.tmp去掉,你有没有什么建议?

其实我没大明白你的问题哈

上面用 glob操作是得到符合后面正则表达式的文件(及路径)名组成的list
至于你要搜寻符合怎样命名规则的文件,那根据需要按着正则表达式来就是了

但你之前的回复里,“把所有文件的后缀换成.nc吧”让我有点儿晕,这只是得到下大家的文件名,和“换”有什么关系?如果需要重命名,用 os.rename() 操作,或者 shutil.copy2()之类的复制操作

你的“去掉”是说重命名么?是的话参考上面提的这俩操作


但对于文件读取来说,理论上和后缀关系不大啊,随便起个 AAA.rabin_xu 这样的名字也能读取,我个人是不大会考虑专门改文件名
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-15 10:48:58 | 显示全部楼层
nickbsb 发表于 2017-12-14 14:09
例如读取 201701……201712.nc这样的文件名,可否分享下模读取代码板之类的

我先问问,你俩不是大号和马甲的关系吧?


获取文件名我上面已经说过了
至于读取nc文件,请自行在家园找,有的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-15 19:17:10 | 显示全部楼层
楼上说的正则匹配,感觉有点杀鸡用宰牛刀了。实际上大部分文件,循环构造字符串就好了。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表