| Server IP : 172.67.191.97 / Your IP : 104.23.197.209 Web Server : Apache/2.4.63 (Ubuntu) System : Linux adminpruebas-Virtual-Machine 6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.4.5 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON 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)