Средний = Python
Проблема 1. (основная проблема) Я пытаюсь построчно читать все файлы в определенном каталоге.Однако после прочтения первого файла второй не открывается.
Проблема 2. (решено) Дата вывода в виде имени файла.Код ниже делает это сейчас.(Рафаэль помог)
Код, который я изначально написал, отлично работал для 1 файла, однако, когда я попытался добавить несколько файловых функций, указав путь к каталогу, а затем просматривая каждый файл в указанном каталоге,Программа может читать только один из файлов.
1.) Чтобы попытаться решить проблему с несколькими файлами, я подумал, что, возможно, список функций readlines, который создается при попытке переустановить / прочитать новый файл, необходимо очистить или удалить.(однако он все равно прошел бы исходный открытый файл, если бы это было так.) (Кроме того, я первоначально тестировал три файла, следовательно, печать (файлы [0] - [3]).
import os
import sys
import datetime
def main():
date_object = datetime.date.today()
dateString = date_object.strftime('%m-%d-%Y')
print(dateString)
dateString = dateString + ".txt"
print(dateString)
fileWrite = dateString
#open or create fileWrite
try:
fW = open(fileWrite, "a+")
except IOError:
print ("Did not create File: " + fileWrite)
sys.exit()
#walks through all files in folder SeperateProject/Devices
#path = 'Test path to directory here'
#path = 'C:/Users/Bosborne/Desktop/Circuits/SeparateProject/Devices'
files = os.listdir(path) # Get all the files in that directory
print("Files in '%s': %s" % (path, files))
print(files[0], files[1], files[2])
for filename in os.listdir(path):
fileRead = filename
#add in ability to Walk through device list (.txt)
#create error catches here
try:
fR = open(filename, "r")
except IOError:
print ("Could not open File: " + filename)
sys.exit()
try:
fRead = fR.readlines()
except IOError:
print ("Could not read File: " + filename)
sys.exit()
#add walk through list to DEV
DEV = filename
#show list of included devices
print(DEV)
#Tried to fix the error of not being able to open file 2
fRead.clear()
del fRead[:]
fR.close()
print("close fileRead")
fW.close()
print("close fileWrite")
return
#run main
if(__name__ == '__main__'):
main();
Ожидается, что он сможет открывать каждый файл в каталоге, так как он #retrieve правильное имя каждого файла, поскольку он проверяет все файлы в каталоге. (Не удается открыть второй файл) Вот некоторые ВЫХОДЫ
PSC: \ Users \ Bosborne \ Desktop \ Circuits \ SeparateProject> python. \ TestOPEN.py
05-21-2019
05-21-2019.txt
Файлыв 'C: / Users / Bosborne / Desktop / Circuits / SeparateProject / Devices': ['001p01.txt', '001p02.txt', '001p03.txt']
001p01.txt 001p02.txt 001p02.txt 001p03.txt
001p01txt
закрыть fileRead
Не удалось открыть файл: 001p02.txt
PS C: \ Users \ Bosborne \ Desktop \ Circuits \ SeparateProject>