获取错误是 unix os.path.getatime
error getting was unix with os.path.getatime
我想获取文件的unix时代,但是我得到一个错误。
代码:
import os
from time import time
from datetime import datetime
import openpyxl
# Data do dia em unix.
data_hoje = time()
# Parâmetro de classificação em unix.
quinze_dias = 1296000
trinta_dias = 2592000
tres_meses = float(7776000)
seis_meses = 15552000
# Definição das pastas de trabalho.
main_path = r'C:\Users\eduar\Documents'
book = openpyxl.Workbook()
book.create_sheet('Dados')
frutas_page = book['Dados']
frutas_page.append(['Nome', 'Último acesso', 'Última modificação', 'Tamanho'])
for root, subfolder, filenames in os.walk(main_path):
for file in filenames:
unix_arquivo = os.path.getatime(file)
if data_hoje - unix_arquivo >= tres_meses:
nome = os.path.basename(file)
acesso = datetime.utcfromtimestamp(os.path.getatime(file)).strftime('%Y-%m-%d')
modificacao = datetime.utcfromtimestamp(os.path.getmtime(file)).strftime('%Y-%m-%d')
frutas_page.append([nome, acesso, modificacao])
book.save('S:/Teste.xlsx')
错误:
Traceback (most recent call last):
File "S:\Documentos\ELO\main.py", line 27, in <module>
unix_arquivo = os.path.getatime(file)
File "S:\Python.9.7\lib\genericpath.py", line 60, in getatime
return os.stat(filename).st_atime
FileNotFoundError: [WinError 2] O sistema não pode encontrar o arquivo especificado: 'adxregistrator.log'
错误发生在获取文件访问的 unix 时代。
"FileNotFoundError
" 是赠品。这意味着无法找到您传递给 getatime
的 file
。 file
是由 os.walk
返回的,所以你可以很确定它确实存在,为什么找不到呢?因为你需要提供 path 文件,而 os.walk
只 returns filename.
试试这个:
import os
for root, subfolder, filenames in os.walk("/var/tmp/"):
for file in filenames:
unix_arquivo = os.path.getatime(os.path.join(root, file))
print("file: " + file + ". atime: " + str(unix_arquivo))
请注意,即便如此,您仍可能会收到某些文件的“FileNotFoundError”。例如,符号链接可能需要特殊处理。
我想获取文件的unix时代,但是我得到一个错误。
代码:
import os
from time import time
from datetime import datetime
import openpyxl
# Data do dia em unix.
data_hoje = time()
# Parâmetro de classificação em unix.
quinze_dias = 1296000
trinta_dias = 2592000
tres_meses = float(7776000)
seis_meses = 15552000
# Definição das pastas de trabalho.
main_path = r'C:\Users\eduar\Documents'
book = openpyxl.Workbook()
book.create_sheet('Dados')
frutas_page = book['Dados']
frutas_page.append(['Nome', 'Último acesso', 'Última modificação', 'Tamanho'])
for root, subfolder, filenames in os.walk(main_path):
for file in filenames:
unix_arquivo = os.path.getatime(file)
if data_hoje - unix_arquivo >= tres_meses:
nome = os.path.basename(file)
acesso = datetime.utcfromtimestamp(os.path.getatime(file)).strftime('%Y-%m-%d')
modificacao = datetime.utcfromtimestamp(os.path.getmtime(file)).strftime('%Y-%m-%d')
frutas_page.append([nome, acesso, modificacao])
book.save('S:/Teste.xlsx')
错误:
Traceback (most recent call last):
File "S:\Documentos\ELO\main.py", line 27, in <module>
unix_arquivo = os.path.getatime(file)
File "S:\Python.9.7\lib\genericpath.py", line 60, in getatime
return os.stat(filename).st_atime
FileNotFoundError: [WinError 2] O sistema não pode encontrar o arquivo especificado: 'adxregistrator.log'
错误发生在获取文件访问的 unix 时代。
"FileNotFoundError
" 是赠品。这意味着无法找到您传递给 getatime
的 file
。 file
是由 os.walk
返回的,所以你可以很确定它确实存在,为什么找不到呢?因为你需要提供 path 文件,而 os.walk
只 returns filename.
试试这个:
import os
for root, subfolder, filenames in os.walk("/var/tmp/"):
for file in filenames:
unix_arquivo = os.path.getatime(os.path.join(root, file))
print("file: " + file + ". atime: " + str(unix_arquivo))
请注意,即便如此,您仍可能会收到某些文件的“FileNotFoundError”。例如,符号链接可能需要特殊处理。