鱼C论坛

 找回密码
 立即注册
查看: 791|回复: 1

写了一个代码想要筛选一下当前文件夹大于0.1mb的文件,遇到了两个问题

[复制链接]
发表于 2019-2-17 15:39:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题,,有两个问题:
第一:在idle里面f5调试的时候,txt被创建了但是没有内容, 但是直接运行py文件的时候txt就能被写入了符合要求的文件名,不明白为什么
第二:之后我想对txt储存的文件名进行调整,将‘-’符号替换为‘\t',并删除后缀名,没能成功,请大神帮忙看看哪里错了

代码:
import os

def getsize(file_path):
    file_size = os.path.getsize(file_path)
    file_size = file_size / float(1024*1024)
    return file_size

qualify_file_list = []
file_list = []
folder_location = os.getcwd()#获得当前路径
file_list = os.listdir(path = '.')#获得路径下文件名
qualify_txt = open(folder_location + '\\' + '合格名单.txt','wt')

for each in file_list:
    each_size = float(getsize(folder_location + '\\' + each))
    if each_size > 0.1 :#判断文件大小大于0.1mb
        qualify_txt.write(each+'\n')
    else:
        pass
qualify_txt.close
#print(os.path.getsize(folder_location + '\\' + '合格名单.txt'))
f = open('合格名单.txt','w+')
#print(os.path.getsize(folder_location + '\\' + '合格名单.txt'))
print('开始对文件名进行整理')
for lines in f:
    #print(lines)
    lines = str(lines)
    lines = lines.replace('-','\t')
    #print(lines)
    lines_sp = lines.split('.', maxsplit=-1)
    lines = lines_sp[0]
    #print(lines)
    f.write(lines)
f.close
print('DONE!')


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-2-17 15:40:42 | 显示全部楼层
#print(os.path.getsize(folder_location + '\\' + '合格名单.txt'))这里我想检查一下f是否被正确打开,输出的结果是大小为0
f = open('合格名单.txt','w+')
#print(os.path.getsize(folder_location + '\\' + '合格名单.txt'))
print('开始对文件名进行整理')
for lines in f:
    #print(lines)
    lines = str(lines)
    lines = lines.replace('-','\t')
    #print(lines)
    lines_sp = lines.split('.', maxsplit=-1)
    lines = lines_sp[0]
    #print(lines)
    f.write(lines)
f.close
print('DONE!')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-14 00:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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