理论上很简单:来自所有子目录的文件名和日期的 CSV (Unix(OSX)

谷物

所以我想做的事情看起来很简单,但是......我无法让它发挥作用。

我有一个包含多个子目录的随机文件夹,其中包含很多文件(如 2k)。现在我想写一个小程序/脚本来生成一个 txt/csv 文件,它只包含: - 文件名 - 最后修改日期而不是: - 文件的完整路径 - 隐藏文件 - 目录

它应该在 OSX 下工作。我选择给它一个简单的 GUI 的工具目前是 python。基本思想:获取终端命令并使用 subprocess / os import 从带有 GUI 的完成程序中使用该命令。

虽然这有效......我似乎无法获得适当的终端命令。

非常感谢任何帮助,提前致谢!

我在没有调用 os 的情况下尝试了原生 python 解决方案;但显然我的 python 技能简单还不够好。

我尝试用 ls, find, awk, sed, mtime, stat 构建管道……基本上把所有想到的东西都放在一起,但是……不知何故我只是把它搞砸了。

我在网上找不到的所有解决方案都针对略有不同的问题,而且显然我无法将所有部分放在一个大管道中。我添加的一件似乎总是打破另一件。

find PATH -type f -execdir echo {} ';' > output.txt

获取所有没有目录、隐藏文件或完整路径的文件名。这正是我想要的,现在我只需要输出中的第二列与最后修改日期...

ls -lRT | awk '{print "\""substr($0,index($0,$10))"\""",""\""$6" "$7", "$9"\""",""\""$5"\""}' > list.csv

几乎在那里但是......除了Excel搞乱了CSV之外,我无法摆脱完整路径,但我只需要名称和日期......

find PATH -type f | awk '{print "\""substr($0,index($0,$10))"\""",""\""$6" "$7", "$9"\""",""\""$5"\""}' > folderlist.csv

所以……这表明减乘以减并不总是等于加。也不会到达我想要的地方。

迪诺
import os
import time
import csv


PATH = '.'  # This is your start folder, taking current folder as an example
csv_f = list()
for root, dirs, files in os.walk(PATH):
    for file in files:
        if not file.startswith('.'):
            filepath = os.path.join(root, file)
            if os.path.isfile(filepath):  # This check excludes symlinks
                m_time_raw = os.path.getmtime(filepath)
                m_time = time.ctime(m_time_raw)
                csv_f.append([file, m_time])

with open('temp.csv', 'w', newline='') as c:
    writer = csv.writer(c)
    writer.writerows(csv_f)
c.close()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查找所有文件,在每个子目录中创建一行一行的CSV文件,并在列中输入文件名

来自分类Dev

在Linux中将子目录中的文件名写入CSV文件

来自分类Dev

如何从子目录提取文件名和路径,并需要使用unix shell脚本将输出写入到csv文件中

来自分类Dev

如何从子目录提取文件名和路径,并需要使用unix shell脚本将输出写入到csv文件中

来自分类Dev

需要一个.bat文件来创建一个当前目录的.csv输出文件,它是子目录和不带文件扩展名的文件名

来自分类Dev

列出子目录中所有文件的创建日期和文件名

来自分类Dev

列出子目录中所有文件的创建日期和文件名

来自分类Dev

是否有 linux 命令循环遍历目录中的文件,然后将所有文件名和内容写入 csv 文件?

来自分类Dev

从子目录返回最后创建的csv文件

来自分类Dev

从子目录连接具有相同名称的csv文件

来自分类Dev

运行bash脚本以将.csv附加到子目录中的文件中,该子目录从计算机中移动/删除了所有文件

来自分类Dev

如何从所有csv文件中添加列n并存储在另一个csv文件中(标头是该列来自的文件名)?

来自分类Dev

如何遍历目录中某个文件夹中的所有csv文件名,并对这些文件名执行字符串拆分?

来自分类Dev

PHP使用子目录作为新文件名重命名所有文件

来自分类Dev

将所有文件移动到文件名开头的子目录中

来自分类Dev

递归输出所有子目录的文件名和文件大小?

来自分类Dev

将所有文件移动到以部分文件名命名的子目录中

来自分类Dev

将递增值写入子目录中与文件名匹配的所有文件

来自分类Dev

通过添加所有父目录的前缀来修改文件名,将所有文件从子目录和子子目录复制到主目录

来自分类Dev

如何从所有子目录中获取特定的文件名?

来自分类Dev

Python脚本根据文件名提取所有子目录

来自分类Dev

如何从目录列表基于文件名创建CSV文件?

来自分类Dev

文件名到CSV

来自分类Dev

在目标目录的每个子目录中创建CSV文件

来自分类Dev

如何将不同子目录中的多个csv文件中的值提取到新的csv文件中?

来自分类Dev

来自所有用户的文件和子目录的权限继承了永久权限

来自分类Dev

使用Cygwin在多个子目录中合并CSV文件

来自分类Dev

打印文件名和CSV文件路径

来自分类Dev

将pandas csv保存到子目录

Related 相关文章

  1. 1

    查找所有文件,在每个子目录中创建一行一行的CSV文件,并在列中输入文件名

  2. 2

    在Linux中将子目录中的文件名写入CSV文件

  3. 3

    如何从子目录提取文件名和路径,并需要使用unix shell脚本将输出写入到csv文件中

  4. 4

    如何从子目录提取文件名和路径,并需要使用unix shell脚本将输出写入到csv文件中

  5. 5

    需要一个.bat文件来创建一个当前目录的.csv输出文件,它是子目录和不带文件扩展名的文件名

  6. 6

    列出子目录中所有文件的创建日期和文件名

  7. 7

    列出子目录中所有文件的创建日期和文件名

  8. 8

    是否有 linux 命令循环遍历目录中的文件,然后将所有文件名和内容写入 csv 文件?

  9. 9

    从子目录返回最后创建的csv文件

  10. 10

    从子目录连接具有相同名称的csv文件

  11. 11

    运行bash脚本以将.csv附加到子目录中的文件中,该子目录从计算机中移动/删除了所有文件

  12. 12

    如何从所有csv文件中添加列n并存储在另一个csv文件中(标头是该列来自的文件名)?

  13. 13

    如何遍历目录中某个文件夹中的所有csv文件名,并对这些文件名执行字符串拆分?

  14. 14

    PHP使用子目录作为新文件名重命名所有文件

  15. 15

    将所有文件移动到文件名开头的子目录中

  16. 16

    递归输出所有子目录的文件名和文件大小?

  17. 17

    将所有文件移动到以部分文件名命名的子目录中

  18. 18

    将递增值写入子目录中与文件名匹配的所有文件

  19. 19

    通过添加所有父目录的前缀来修改文件名,将所有文件从子目录和子子目录复制到主目录

  20. 20

    如何从所有子目录中获取特定的文件名?

  21. 21

    Python脚本根据文件名提取所有子目录

  22. 22

    如何从目录列表基于文件名创建CSV文件?

  23. 23

    文件名到CSV

  24. 24

    在目标目录的每个子目录中创建CSV文件

  25. 25

    如何将不同子目录中的多个csv文件中的值提取到新的csv文件中?

  26. 26

    来自所有用户的文件和子目录的权限继承了永久权限

  27. 27

    使用Cygwin在多个子目录中合并CSV文件

  28. 28

    打印文件名和CSV文件路径

  29. 29

    将pandas csv保存到子目录

热门标签

归档