class __init__:
path = "articles/"
files = os.listdir(path)
files.reverse()
def iterate(Files, Path):
def handleXml(content):
months = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
parse = re.compile('<(.*?)>(.*?)<(.*?)>').findall(content)
day = parse[1][1]
month = months[int(parse[2][1])]
dayN = parse[3][1]
year = parse[4][1]
hour = parse[5][1]
min = parse[6][1]
amPM = parse[7][1]
title = parse[9][1]
author = parse[10][1]
article = parse[11][1]
category = parse[12][1]
if len(Files) > 5:
del Files[5:]
for file in Files:
file = "%s%s" % (Path, file)
f = open(file, 'r')
handleXml(f.read())
f.close()
iterate(files, path)
시작시 실행되며 파일 배열을 검사하면 모든 파일 이름이 포함됩니다. 그러나 루프를 통과하면 작동하지 않고 첫 번째 디스플레이 만 표시됩니다. 파일을 반환하는 경우 처음 두 파일 만 가져오고, 중복 파일에서도 구문 분석을 반환하면 파일이 일치하지 않습니다. 아무 것도 이해가되지 않습니다.디렉토리에서 모든 내용을 읽고 구문 분석하는 파이썬 루핑
저는 파이썬을 사용하여 간단한 블로그를 만들려고합니다. 제 서버에는 매우 오래된 버전의 파이썬이 있기 때문에 glob과 같은 모듈을 사용할 수 없으므로 모든 것이 가능한 한 기본이되어야합니다.
files 배열에는 디렉터리에있는 모든 파일이 포함되어 있습니다. articles 디렉토리 내의 다른 디렉토리를 검색 할 필요가 없습니다.
그러나 출력 할 때, 심지어는 중복 된 파일에서 다른 결과를 얻습니다.
감사합니다,
- 톰
게시 한 코드는 iterate() 함수를 호출하지 않으며 아무 것도 출력하지 않습니다. 전체 코드를 게시하십시오. –
또한 들여 쓰기가 잘못되었습니다. 이것은 분명히 파이썬에서 매우 중요합니다. 텍스트 편집기에서와 똑같이 보이도록 수정하십시오. –