🇺🇸 This project aimed to create an app executable able to list all files in a folder.
🇧🇷 Este projeto teve por objetivo criar uma aplicação .exe capaz de listar todos os arquivos em uma pasta.
The algorithm maps a directory and list its files names and sizes on a csv file (listingfiles.csv). There are four types of executables (and its codes). They only differ on size and if they have, or not, a graphic interface so users can see the process running.
- Name: simplelistingfiles_wo_interface.exe
- Executable size: 6.6 mb
- Description: This executable (and its code) is light because it does not have Graphic interface for users and does not use Pandas (to create DataFrame) or Numpy (to manipulate data).
- Name: simplelistingfiles_w_interface.exe
- Executable size: 9.4 mb
- Description: This executable (and its code) uses TKinter to create a Graphic interface for users (while processing, using threading) that makes it a little heavier. However, it is still light because it does not use Pandas (to create DataFrame) or Numpy (to manipulate data).
- Name: listingfiles_wo_interface.exe
- Executable size: 27.6 mb
- Description: This executable (and its code) although it does not create a Graphic interface for users, it uses Pandas (to create DataFrame and CSV) that makes the program heavy.
- Name: listingfiles_w_interface
- Executable size: 30.3 mb
- Description: This executable (and its code) is the heaviest, bacause it uses TKinter to create a Graphic interface for users (while processing, using threading), as well as, Pandas (to create DataFrame and CSV). It was the first version of app that was adjusted until has it size reduced five times (from 30 mb to 6mb), by removing Pandas, Tkinter, and Threading).
- During this project, I learned:
- use threading to run multiple tasks simultaneously;
- turn Python codes into executables (.exe) by Pyinstaller;
- use Tkinter to create a user interface, so users can see the executable running; and
- find the most efficient algorithm based on its performance: i.e. comparing executables with and without the interface, or even different settings for threading.
There are two ways to execute this app:
-
Using one of the four apps available at the Executable folder:
- Choose and download one executable app;
- Place the app on the folder that you what to list the names and sizes of files there; and
- Double click the app to be executed (the .csv listing the files will be created at the folder inspected.
-
Using one of the four codes available at the Code folder:
- To run the code it is recommended to use an IDE, such as Pycharm;
- When played, the code will list the name and size of files from where it will be running; and
- The .csv listing the files will be created at the folder inspected.
There is no recommendation to run the executable apps.
To run the code, it is recommended to install the following Python Packaged:
- csv;
- hurry.filesize;
- pandas;
- pathlib;
- threading;
- tkinter; and
- os
# Clone this repository
$ git@github.com:rosadigital/listingfiles.git
# Open the repository on pycharm
Felipe Rosa on LinkedIn
This project is licensed under MIT.
Este projeto esta sobe a licença MIT.
Made with ❤️ by Felipe Rosa 👋🏽 Contact here!
Feito com ❤️ por Felipe Rosa 👋🏽 Entre em contato!
--