Search for files by the specified path.
Project description
SearchFile
Table of contents
Installation
Installation using a terminal:
pip install SearchFile
Description
This library searches for files by the specified parameters.
Using
import SearchFile
or
from SearchFile import search
The search
function accepts three parameters.
tpath: directory path
name_parameter: file name or the first match of a substring with the name
extension_parameter: file extension
returns a list sorted by the specified parameters
For Windows
Also, the directory separator should be written in the form \\
, so as not to form control characters (\n, \t, \r, etc.). Examples:
search("C:\\Users")
search("D:\\Downloads\\test.txt", "t")
search("D:\\Git\\cmd", "t", ".txt")
search("C:\\Users", extension_parameter=".txt")
Linux
The directory separator should be used /
. Examples:
search("/home/artem/desktop/tmp/")
search("/home/artem/desktop/", "t")
search("/home/artem/tmp/file1", "f", ".txt")
search("/home/artem/desktop/tmp/", extension_parameter=".txt")
Mac OS
The directory separator should be used /
. Examples:
search("/Library/Desktop Pictures")
search("/Library/Desktop Pictures/pictures1.jpg", "pictures1")
search("/Library/Desktop Pictures/gallery", "f", ".jpg")
search("/Library/Desktop Pictures", extension_parameter=".png")
Code
from os import path, listdir
def search(tpath: str, name_parameter: str = None, extension_parameter: str = None) -> list:
list_all_files = []
def search_all_files(transmission_path):
if path.isdir(transmission_path):
for dirs in listdir(transmission_path):
if path.isdir(path.join(transmission_path, dirs)):
search_all_files(path.join(transmission_path, dirs))
else:
list_all_files.append(path.basename(path.join(transmission_path, dirs)))
return list_all_files
else:
if path.isfile(transmission_path):
list_all_files.append(path.basename(transmission_path))
else:
return "The path is specified incorrectly!"
return list_all_files
if name_parameter is not None:
list_needed_files = [files for files in search_all_files(tpath)
if files.find(name_parameter) == 0]
if extension_parameter is not None:
list_needed_files = [files for files in list_needed_files
if files.rfind(extension_parameter) == files.rfind(".")]
return list_needed_files
if extension_parameter is not None:
list_needed_files = [files for files in search_all_files(tpath)
if files.rfind(extension_parameter) == files.rfind(".")]
return list_needed_files
return search_all_files(tpath)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for SearchFile-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bae5eaefc7c4174722549a5c95940d983f2a2e8628093148b6403c9562bd320 |
|
MD5 | 545ffb8acbf0ba91805acfd52a76dc5d |
|
BLAKE2b-256 | 7fb78b108c1412d263af66a6ba0417dc18bf6689e9d58c6af30ea990c95dafc7 |