업데이트 : 파이썬에서 오늘 날짜의 파일을 검색하려고 시도하는 중, 아래의 답변 섹션에 최종 코드를 게시했습니다.파이썬에서 오늘 날짜로 파일 검색
프로그램에서 만든 로그가있는 폴더가 있습니다. 로그 제목에는 사용자의 이름과 로그가 작성된 날짜가 들어 있습니다. 오늘의 날짜를 포함하는 open의 로그에 Python 스크립트를 작성하려고합니다. 오늘 datetime을 사용하면 오늘 날짜를 얻고 은 오늘 logFolderContent [x] 날짜를 검색하는 데 사용됩니다. 나는이 스크립트의 작은 버전을 작동 (3 개의 문자열 검색) 할 수 있었지만 문제를 가진 폴더를 찾기 위해 그것을 다시 작성하려고 시도했다.
아래는 내 스크립트입니다. @Steven Summers의 도움으로 제 코드가 좀 더 깔끔합니다. 이전 코드를 새 코드로 바꿨습니다. 나는 그 이후로 스크립트가 오늘날의 파일과 상호 작용할 때 충돌한다는 것을 깨달았습니다. 내가) ( 라인 logFolderContent.reverse를 제거하면
Today's Date: 2016-07-18
log folder content ['Thumbs.db', '2016-07-18-WIN7-BUYING.txt', (etc...) '2016-04-20-ERIC-NEW.txt']
Non-text file found and ignored
Thumbs.db
Traceback (most recent call last):
File "U:/JustinG/Python/Directory/Complete_1.py", line 24, in <module>
print("eligibleLogs[i] = ", eligibleLogs[i])
IndexError: list index out of range
process finished with exit code 1
이 스크립트는 모든 파일 이름 (그들은 아래의 요건을 충족하고 의미) 및 인쇄 : 여기
import os
import datetime
# <><><><><><><><><><><><><><> Get Today's Date <><><><><><><><><><>
today = datetime.date.today()
today = str(today)
runDate = today
print("Today's Date:", today, "\n\n\n")
# <><><><><><><><><><><><><> Get all today's files <><><><><><><><><>
logFolder = r"\\foamfile\logs\POHistory"
logFolderContent = os.listdir(logFolder) # WORKING
logFolderContent.reverse()
print("log folder content", logFolderContent)
countFolderContent = len(logFolderContent) # WORKING
print("Total Files in Folder:", countFolderContent)
eligibleLogs = []
continueLogSearch = "true"
x = 0
for i, file in enumerate(logFolderContent):
if file.startswith(today):
eligibleLogs.append(i)
print("eligibleLogs[i] = ", eligibleLogs[i])
elif not file.endswith(".txt"):
print("Non-text file found and ignored")
print(logFolderContent[i])
는 출력 오늘 날짜로 파일 이름에 도달하면 충돌이 발생합니다.
"logFolderContent 그룹을 바꾸면"무엇을 의미합니까? 폴더에 실제로 584 개의 파일이 있습니까? .txt없이 15 개가 있습니까? – pwnsauce
@pwnsauce. list.reverse(). [file1, file2, file3] 대신 [file3, file2, file1] – Justlieb
@pwnsauce 코드 아래에 출력물을 넣을 것입니다. 아마 그게 도움이 될거야. – Justlieb