Guesses the file type/mime/encoding of files
pip install get-file-type
Guesses the file type/mime/encoding of files. It uses the binaries from https://github.com/julian-r/file-windows/releases
(File and Libmagic build with Visual Studio) - They are included in this package
Args:
files_folders (list or str): A list of file/folder paths or a single file/folder path.
maxsubfolders (int, optional): Maximum number of subfolders to scan. Default is -1, which means no limit.
pandas_dataframe (bool, optional): Determines if the results should be returned as a pandas DataFrame.
Requires pandas to be installed. Default is False.
verbose (bool, optional): Determines if verbose output should be displayed. Default is True.
Returns:
list or pd.DataFrame: A list of file type information for each file or a pandas DataFrame if pandas_dataframe is True.
Raises:
Exception: If pandas is not installed and pandas_dataframe is set to True.
Example:
from get_file_type import guess_filetypes
result_list = guess_filetypes(
files_folders=[
r"C:\Users\hansc\Pictures\fastcpy", # png file without ending
r"C:\Users\hansc\Pictures\fastcpy - Copy.png", # an actual png file, to check if files with the correct ending are ignored
r"C:\Users\hansc\Pictures\cppcomp.jpg", # a .txt file with the wrong ending
r"E:\destinationcopytemp5", # internet cache files - whole folder will be scanned
],
maxsubfolders=-1, # if you want to limit the number of subfolders to scan, -1 means no limit
pandas_dataframe=False, # return the results as a pd.DataFrame (pandas must be installed)
verbose=True, # visual output
)
result_df = guess_filetypes(
files_folders=[
r"C:\Users\hansc\Pictures\fastcpy", # png file without ending
r"C:\Users\hansc\Pictures\fastcpy - Copy.png", # an actual png file, to check if files with the correct ending are ignored
r"C:\Users\hansc\Pictures\cppcomp.jpg", # a .txt file with the wrong ending
r"E:\destinationcopytemp5", # internet cache files - whole folder will be scanned
],
maxsubfolders=-1,
pandas_dataframe=True,
verbose=True,)
output:
[[['C:\\Users\\hansc\\Pictures\\fastcpy', 'image/png', 'charset=binary', ('png',), ('C:\\Users\\hansc\\Pictures\\fastcpy.png',)]]]
[[['C:\\Users\\hansc\\Pictures\\fastcpy - Copy.png', 'image/png', 'charset=binary', ('png',), ('C:\\Users\\hansc\\Pictures\\fastcpy - Copy.png',)]]]
[[['C:\\Users\\hansc\\Pictures\\cppcomp.jpg', 'text/plain', 'charset=us-ascii', ('conf', 'def', 'in', 'ini', 'list', 'log', 'text', 'txt'), ('C:\\Users\\hansc\\Pictures\\cppcomp.jpg.conf', 'C:\\Users\\hansc\\Pictures\\cppcomp.jpg.def', 'C:\\Users\\hansc\\Pictures\\cppcomp.jpg.in', 'C:\\Users\\hansc\\Pictures\\cppcomp.jpg.ini', 'C:\\Users\\hansc\\Pictures\\cppcomp.jpg.list', 'C:\\Users\\hansc\\Pictures\\cppcomp.jpg.log', 'C:\\Users\\hansc\\Pictures\\cppcomp.jpg.text', 'C:\\Users\\hansc\\Pictures\\cppcomp.jpg.txt')]]]
[[['E:\\destinationcopytemp5\\00000000__2023_05_13_22_33_46\\Users\\hansc\\AppData\\Local\\Temp\\RBX-64BA6ED6.log', 'text/plain', 'charset=us-ascii', ('conf', 'def', 'in', 'ini', 'list', 'log', 'text', 'txt'), ('E:\\destinationcopytemp5\\00000000__2023_05_13_22_33_46\\Users\\hansc\\AppData\\Local\\Temp\\RBX-64BA6ED6.log',)]]]
[[['E:\\destinationcopytemp5\\00000000__2023_05_13_22_33_46\\Users\\hansc\\AppData\\Local\\Temp\\RBX-DF39BC9A.log', 'text/plain', 'charset=us-ascii', ('conf', 'def', 'in', 'ini', 'list', 'log', 'text', 'txt'), ('E:\\destinationcopytemp5\\00000000__2023_05_13_22_33_46\\Users\\hansc\\AppData\\Local\\Temp\\RBX-DF39BC9A.log',)]]]
aa_filename aa_mime aa_encoding aa_possible_extensions aa_possible_filenames
0 C:\Users\hansc\Pictures\fastcpy image/png charset=binary (png,) (C:\Users\hansc\Pictures\fastcpy.png,)
1 C:\Users\hansc\Pictures\fastcpy - Copy.png image/png charset=binary (png,) (C:\Users\hansc\Pictures\fastcpy - Copy.png,)
2 C:\Users\hansc\Pictures\cppcomp.jpg text/plain charset=us-ascii (conf, def, in, ini, list, log, text, txt) (C:\Users\hansc\Pictures\cppcomp.jpg.conf, C:\Users\hansc\Pictures\cppcomp.jpg.def, C:\Users\hansc\Pictures\cppcomp.jpg.in, C:\Users\hansc\Pictures\cppcomp.jpg.ini, C:\Users\hansc\Pictures\cppcomp.jpg.list, C:\Users\hansc\Pictures\cppcomp.jpg.log, C:\Users\hansc\Pictures\cppcomp.jpg.text, C:\Users\hansc\Pictures\cppcomp.jpg.txt)
3 E:\destinationcopytemp5\00000000__2023_05_13_22_33_46\Users\hansc\AppData\Local\Temp\RBX-64BA6ED6.log text/plain charset=us-ascii (conf, def, in, ini, list, log, text, txt) (E:\destinationcopytemp5\00000000__2023_05_13_22_33_46\Users\hansc\AppData\Local\Temp\RBX-64BA6ED6.log,)
4 E:\destinationcopytemp5\00000000__2023_05_13_22_33_46\Users\hansc\AppData\Local\Temp\RBX-DF39BC9A.log text/plain charset=us-ascii (conf, def, in, ini, list, log, text, txt) (E:\destinationcopytemp5\00000000__2023_05_13_22_33_46\Users\hansc\AppData\Local\Temp\RBX-DF39BC9A.log,)
Metadata
Release files for get-file-type 0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| get_file_type-0.10.tar.gz | 577.5 kB | Without provenance | Details for get_file_type-0.10.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| get_file_type-0.10-py3-none-any.whl | Python 3 | none | any | Details for get_file_type-0.10-py3-none-any.whl |
Total release size: 1.2 MB
Release files / get_file_type-0.10.tar.gz
| Download URL | get_file_type-0.10.tar.gz |
|---|---|
| Size | 577.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f77b21b0bf9f4a2f19092c1f78e2022d3ebfcfbf577474990e2cd111cd7af763
|
|
BLAKE2b-256 checksum How to use checksums |
ef8bf7158c12a7435e2bbd1b892fbc256abe45cdb76aba7f3983775284e3a198
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|
Release files / get_file_type-0.10-py3-none-any.whl
| Download URL | get_file_type-0.10-py3-none-any.whl |
|---|---|
| Size | 616.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fc33ee2953c5103e88e6100499021793596b54cd6b5f3d17235af80d074d713f
|
|
BLAKE2b-256 checksum How to use checksums |
cd2713062797d98d44fc3bf2413f3381a8dd51d44cc4a65cd6de8c97d93e57cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|
Security for get-file-type 0.10
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.