Я нашел этот пост в stackoverflow, который я и хотел интегрировать в более крупный скрипт, который я пишу: Найдите самую новую папку в каталоге на Python
Я хочу проверить наличие самого нового файла или папки, поэтому изменил скрипт для проверки следующим образом:
#!/usr/bin/env python3.1
import os
def allFilesIn(b='.'):
result = []
for d in os.listdir(b):
bd = os.path.join(b, d)
result.append(bd)
return result
latest_subdir = max(allFilesIn('/tmp/testforlatest'), key=os.path.getmtime)
print(latest_subdir)
Однако я получаю результаты следующим образом:
> touch /tmp/testforlatest/file1
> ls -t -1 /tmp/testforlatest/ | head -1
file1
> /tmp/testfornewestfile.py
/tmp/testforlatest/file1
> touch /tmp/testforlatest/file2
> ls -t -1 /tmp/testforlatest/ | head -1
file2
> /tmp/testfornewestfile.py
/tmp/testforlatest/file1
> mkdir /tmp/testforlatest/folder1
> ls -t -1 /tmp/testforlatest/ | head -1
folder1/
> /tmp/testfornewestfile.py
/tmp/testforlatest/folder1
> mkdir /tmp/testforlatest/folder2
> ls -t -1 /tmp/testforlatest/ | head -1
folder2/
> /tmp/testfornewestfile.py
/tmp/testforlatest/folder1
> touch /tmp/testforlatest/file3
> ls -t -1 /tmp/testforlatest/ | head -1
file3
> /tmp/testfornewestfile.py
/tmp/testforlatest/folder1
Может, кто-то возражает объяснить, почему это происходит и что я делаю неправильно.
другая информация, которая может быть полезна:
> python3.1 --version
Python 3.1.3
> cat /etc/debian_version
6.0.2