鱼C论坛

 找回密码
 立即注册
查看: 2300|回复: 7

[已解决]如何将提取的内容进行排序?

[复制链接]
发表于 2017-7-5 15:07:40 | 显示全部楼层 |阅读模式

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

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

x
        新手一枚,学到30讲,自己编写了一个提取当前文件夹所有文件名称(不包含子目录)并导出到“list.txt”,但是技术不娴熟,提取的内容是随机顺序,请高手指点如何进行排序 ,代码如下:
  1. import os

  2. path =os.getcwd()

  3. listofitems = []

  4. for each in os.listdir(path):
  5.    
  6.     file_name = 'list.txt'                     

  7.     listofitems_file = open(file_name,'a+')      

  8.     listofitems_file.writelines(each+'\n')               
  9.    
  10.     listofitems_file.close()

  11. listofitems = []
复制代码
最佳答案
2017-7-5 15:32:21
os.listdir(path)的结果就是一个list

  1. import os

  2. path =os.getcwd()

  3. listofitems = []
  4. files = os.listdir(path)
  5. files.sort() #升序;files.sort(reverse=True) 降序
  6. for each in files:
  7.     file_name = r'C:\Users\Administrator\Desktop\list.txt'                     
  8.     listofitems_file = open(file_name,'a+')   
  9.     listofitems_file.writelines(each+'\n')               

  10.     listofitems_file.close()
  11.    
  12. listofitems
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-7-5 15:09:31 | 显示全部楼层
什么顺序?文件的顺序都是按照 a-z 的顺序
用一下sorted() 函数吧
自己百度
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-5 15:24:59 | 显示全部楼层
本帖最后由 zhuixun 于 2017-7-5 15:26 编辑
新手·ing 发表于 2017-7-5 15:09
什么顺序?文件的顺序都是按照 a-z 的顺序
用一下sorted() 函数吧
自己百度


提取到文本文档后文件名称的顺序,如下图所述:
例如文件夹下有10个文件,如图1
D:\111.jpg
但提取出来后顺序是随机的,如图2
D:\222.jpg

l图1

l图1
222.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-5 15:31:36 | 显示全部楼层
生成的list.txt看起来已经是有序的了啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-5 15:32:21 | 显示全部楼层    本楼为最佳答案   
os.listdir(path)的结果就是一个list

  1. import os

  2. path =os.getcwd()

  3. listofitems = []
  4. files = os.listdir(path)
  5. files.sort() #升序;files.sort(reverse=True) 降序
  6. for each in files:
  7.     file_name = r'C:\Users\Administrator\Desktop\list.txt'                     
  8.     listofitems_file = open(file_name,'a+')   
  9.     listofitems_file.writelines(each+'\n')               

  10.     listofitems_file.close()
  11.    
  12. listofitems
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-5 15:55:13 | 显示全部楼层

有一个简单而实用的办公软件
它的名字叫做excel,把你提取到的文件名称放到表格,要怎么排序,还不是你说了算?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-5 15:59:13 | 显示全部楼层
gopythoner 发表于 2017-7-5 15:55
有一个简单而实用的办公软件
它的名字叫做excel,把你提取到的文件名称放到表格,要怎么排序, ...

这是曲线救国我也想了,只是想找个一步到位的办法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-5 16:23:31 | 显示全部楼层
感谢各位问题搞明白了,属于概念不清,名称排序是按ASCII码排的,所以 10-jjj 排在前面了;
下一步继续学习导出到EXCEL就能更好的解决了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-28 11:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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