Server IP : 85.214.239.14 / Your IP : 3.128.168.219 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/share/doc/python3-rich/examples/ |
Upload File : |
""" A very simple `ls` clone. If your terminal supports hyperlinks you should be able to launch files by clicking the filename (usually with cmd / ctrl). """ import os import sys from rich import print from rich.columns import Columns from rich.text import Text try: root_path = sys.argv[1] except IndexError: print("Usage: python listdir.py DIRECTORY") else: def make_filename_text(filename): path = os.path.abspath(os.path.join(root_path, filename)) text = Text(filename, style="bold blue" if os.path.isdir(path) else "default") text.stylize(f"link file://{path}") text.highlight_regex(r"\..*?$", "bold") return text filenames = [ filename for filename in os.listdir(root_path) if not filename.startswith(".") ] filenames.sort(key=lambda filename: filename.lower()) filename_text = [make_filename_text(filename) for filename in filenames] columns = Columns(filename_text, equal=True, column_first=True) print(columns)