Вернуть все значения пути из функции - PullRequest
1 голос
/ 18 марта 2019

Я хотел бы знать, как получить все значения моего цикла с помощью Return.В моей первой функции я зацикливаюсь, чтобы восстановить все мои папки, подпапки.Затем я возвращаюсь к pathFiles

Во второй функции я проверяю команду linux для всех файлов в папках, но проблема заключается в следующем: моя функция проверяет только последний результат моего цикла, а не все значения.

from ftplib import FTP
import ftplib
import os
import errno
import time

class ProcessFile:
  path= "FolderFiles"
  target=" /var/www/folder/Output"
  extract=""
  monitoring=""
  bash="unrar "

  @staticmethod
  def returnPath():
    pathFiles= []
    for root, dirs, files in os.walk(ProcessFile.path, topdown=True):
      for name in dirs:
        os.path.join(root, name)
      for name in files:
        pathFiles= os.path.join(root, name)
        print(pathFiles)
    return pathFiles 

  @staticmethod
  def testArchive(pathFile):
    monitoring = ProcessFile.bash+"t "+pathFile
    verifyFiles = os.system(monitoring)
    return verifyFiles 

def testCodeRetour():
  myPath = ProcessFile.returnPath()
  print(myPath)

У вас есть идеи, как это работает?

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 18 марта 2019

Список pathFiles= [] никогда не используется. Может быть, вы хотите добавить что-то в это? Если это так, то вам нужно исправить несколько вещей.

В цикле:

for name in files:
    pathFiles= os.path.join(root, name)
    print(pathFiles)

Измените имя pathFiles на pathFile и добавьте его в список.

for name in files:
    pathFile= os.path.join(root, name)
    print(pathFile)
    pathFiles.append(pathFile)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...