我的文件夹中的文件:
文件模式-<ABC>_<123>_<CURRENT_DATE>.csv
Example:
1.
ABC_123_20180802 - Empty File
ABC_123_20180730 - Empty File
ABC_123_20180725 - Non-Empty File
2.
EFG_456_20180802 - Empty File
ABC_456_20180601 - Non-Empty File
我们的Python版本是2.6,想打印两件事。
1。特定日期文件夹中的空文件(csv)列表。 从此开始列出空文件:
path="C:\Users\\"
for f in os.listdir(path):
file=path+'\\'+f
if (os.stat(file).st_size == 0):
print(file)
Expected Output:
ABC_123_20180802 - File Empty
EFG_456_20180802 - File Empty
2。如果当前日期文件为空,则列出最后一个非空文件(最新日期)。
Expected Output:
ABC_123_20180725 - File Non-Empty
ABC_456_20180601 - File Non-Empty
如何在文件夹中列出给定日期的空文件? 其次,如何查找文件夹中所有最新的非空文件(任何日期)?
答案 0 :(得分:0)
要查找空/非空文件,可以使用列表理解:
empty_file = [f for f in os.listdir(path) if os.stat((path+'\\'+f)).st_size == 0]
non_empty_file = [f for f in os.listdir(path) if os.stat((path+'\\'+f)).st_size != 0]
然后只需遍历列表并执行所需的任何操作即可。
答案 1 :(得分:0)
似乎您已经在使用回答问题所需的所有工具。
latest_non_empty = None
path="C:\Users\\"
for f in os.listdir(path):
file=path+'\\'+f
if (os.stat(file).st_size > 0):
if latest_none_empty:
if lastest_none_empty[0] < os.stat(file).st_mtime:
latest_non_empty_file = (os.stat(file).st_mtime, file)
else:
latest_non_empty_file = (os.stat(file).st_mtime, file)