Найти - Пользователи
Полная версия: Заполнение массива
Начало » Python для новичков » Заполнение массива
1
fib11235
Здравствуйте, уважаемые!
Начну с далека!
Есть 2 папки с файлами расширение *.txt, экспериментальные данные. Средствами python копирую их и переименовую в 3-ю папку. Чтобы построить характеристику ток от времени мне необходимо извлечь дату редактирования файла и последнюю строку файла.
Я прогоняю файлы в цикле и извлекаю дату из файла но они, если я правильно понял, не записываются в массив. Подскажите как реализовать запись данных в массив по циклу.
 import os
import shutil
import os.path
import time
import numpy as np
 
path = raw_input("Enter path to folder: ")
path_1 = os.path.join(path, '1')
path_2 = os.path.join(path, '2')
listOfFiles = os.listdir(path)
countOfFiles = len(listOfFiles)
projectname = 'sens'
fullPath = os.path.join(path, projectname)
 
if os.path.exists(fullPath):
    print ('Объект найден "sens"')
else:
    os.mkdir(fullPath)
    print ('Объект создан "sens"')
 
os.chdir(path)    
    
filePath_1 = os.listdir(path_1)   # список файлов и поддиректорий в данной директории
filePath_2 = os.listdir(path_2)   # список файлов и поддиректорий в данной директории
for i in filePath_1:
    old_name_path_1 = os.path.join(fullPath, i)
    old_name_1 = os.path.join(path_1, i)
    shutil.copy2(old_name_1, old_name_path_1)
    file_name_1, file_ext_1 = os.path.splitext(i)
    count_1 = '_1'
    new_name_1 = '{}{}{}'.format(file_name_1, count_1, file_ext_1)
    new_name_path_1 = os.path.join(fullPath, new_name_1)
    os.rename(old_name_path_1, new_name_path_1)
    
    
for f in filePath_2:
    
    old_name_path_2 = os.path.join(fullPath, f)
    old_name_2 = os.path.join(path_2, f)
    shutil.copy2(old_name_2, old_name_path_2)
    file_name_2, file_ext_2 = os.path.splitext(f)
    count_2 = '_2'
    new_name_2 = '{}{}{}'.format(file_name_2, count_2, file_ext_2)
    new_name_path_2 = os.path.join(fullPath, new_name_2)
    os.rename(old_name_path_2, new_name_path_2) 
    
print('Объекты переименованы')
    
filePath_all_file = os.listdir(fullPath)
array_time = []
full_array_time = []
time_sec_change = []
 
for n in filePath_all_file:
    new_name_path_2 = os.path.join(fullPath, n)
    get_time = os.path.getmtime(new_name_path_2)
    full_array_time.append([])
    full_array_time[n].append('get_time')
    
    #full_array_time = array_time.append(get_time)
    #time_change = time.ctime(get_time)
    #time_sec_change = get_time(n + 1) - get_time(n)
        #for h in get_time:
     #time_sec_change[] = get_time(n + 1) - get_time(n)
     #   print(time_sec_change) 
    #array_time_sec = array_time.append[get_time]
            #print(h)
    #print(array_time_sec)
    #print(get_time)   
    
print(type(get_time))

Так же буду благодарен за подсказки по исправлению кода и подсказок по “хорошему тону” в python
py.user.next
fib11235
Так же буду благодарен за подсказки по исправлению кода
Структурное программирование тут надо применять.
wiki. метод сверху вниз

Тут описывал этапы проектирования алгоритма ещё до написания кода.
Тут пример приводил пошаговой разработки по методу сверху вниз.


По состоянию твоего кода:
Видишь, сколько у тебя имён задействовано, из-за этого ты и потерялся в собственном коде и уже точно не знаешь, где и что в нём. Как бы ты подробно их не писал, всё равно это не помогает понимать код. Чтобы такого не было, у тебя должен быть алгоритм из определённых шагов, где на каждом шаге видно его начало и его конец. Когда у тебя алгоритм разбит на шаги, тогда можно начать их изолировать друг от друга (прятать внутри подпрограмм).

Смотри псевдокод для твоей программы
ввести путь
отыскать файлы по введённому пути
обработать найденные файлы
сохранить результаты обработки файлов
При этом не надо ни в какие директории переходить. Работать с файлами нужно так, будто ты находишься в любом месте на диске. Каждый шаг алгоритма вообще не должен знать про предыдущий шаг алгоритма и про следующий шаг алгоритма. Все шаги должны быть изолированы друг от друга и принимать данные по простейшим каналам и выдавать данные в простейшие каналы. В частности процедура поиска файлов в указанной директории не должна знать, откуда эта указанная директория была введена, с консоли или из файла или вообще из сокета.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB