Как отобразить содержимое файла .app в Python

#python

#python

Вопрос:

Я пытаюсь перечислить файлы в файле .ipa.Я пытаюсь извлечь ipa для проверки того, насколько защищена моя база данных внутри ipa. После его извлечения я получил файл Myappname.app. я хочу отобразить содержимое этого файла на python.я попробовал следующий код, в котором не указано содержимое

  import os
 for file in os.listdir("/mydir"):
     if file.endswith(".txt"):
        print(file)
  

но я могу просмотреть содержимое файла Myappname.app, используя следующий Java-код.

     void listf(String directoryName, ArrayList<File> files) {
     File directory = new File(directoryName);

     // get all the files from a directory
      File[] fList = directory.listFiles();
      for (File file : fList) {
        if (file.isFile()) {
            files.add(file);
        } else if (file.isDirectory()) {
            listf(file.getAbsolutePath(), files);
        }
    }
  }
  

Комментарии:

1. почему вы проверяете file.endswith(".txt") в коде python, но не в коде Java?

2. я пытаюсь перечислить все файлы .db в каталоге. по ошибке я добавил сюда как .txt

Ответ №1:

Ваше file — это только имя файла, поэтому вам нужно открыть его и прочитать содержимое

 print( open("/mydir/"   file, 'r').read() )
  

Ответ №2:

Я решил проблему с помощью glob.glob amp; os.path.isfile. извлеченная папка содержит некоторые файлы и скоросшиватель. listdir выдает ошибку, если я передаю файлы вместо папки, поэтому я фильтровал файлы, используя os.path.isfile amp; amp; os.path.isdir возвращает false для этой папки.

     if os.path.exists(ipaExtractedPath):
        for file in os.listdir(ipaExtractedPath):
            if not os.path.isfile(ipaExtractedPath "/" file):
                for f in glob.glob(ipaExtractedPath  "/" file "/*.db"):
                    try:
                        // some code here
                            break
                        conn.close()
                    except sqlite3.Error:
                        print "Error open db.n"