Skip to main content

Escaping file paths (Windows) without crying and losing one's mind

Project description

Escaping file paths (Windows) without crying and losing one's mind

pip install escape-windows-filepath

Tested against Windows 10 / Python 3.10 / Anaconda

# How it is usually done:

import os

videopathraw = r"C:\baba ''bubu\bab xx\2020-11-23 13-05-26.mp4"

vlcpathraw = r"C:\Program Files\VideoLAN\VLC\vlc.exe"



# Quite frequently something like this surprisingly works, but in this example it doesn't:

videofilenotwellescaped = '"' + r"C:\baba ''bubu\bab xx\2020-11-23 13-05-26.mp4" + '"'

vlcpathnotwellescaped = '"' + r"C:\Program Files\VideoLAN\VLC\vlc.exe" + '"'

escapedcmdnotgood = rf"{vlcpathnotwellescaped} {videofilenotwellescaped}"

print(f"{escapedcmdnotgood=}")

os.system(escapedcmdnotgood)



# Output:

# escapedcmdnotgood='"C:\\Program Files\\VideoLAN\\VLC\\vlc.exe" "C:\\baba \'\'bubu\\bab xx\\2020-11-23 13-05-26.mp4"'

# 'C:\Program' is not recognized as an internal or external command,

# operable program or batch file.





from escape_windows_filepath import escape_windows_path



# The safest method is escaping evey single part (folder,file) of the path

videofileescaped = escape_windows_path(videopathraw)

vlcpath = escape_windows_path(vlcpathraw)

escapedcmd = rf"{vlcpath} {videofileescaped}"

print(f"{escapedcmd=}")

os.system(escapedcmd)

# Output

# escapedcmd='C:\\"Program Files"\\"VideoLAN"\\"VLC"\\"vlc.exe" C:\\"baba \'\'bubu"\\"bab xx"\\"2020-11-23 13-05-26.mp4"'

# And the video player opens

Project details


Release history Release notifications | RSS feed

This version

0.10

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

escape_windows_filepath-0.10.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

escape_windows_filepath-0.10-py3-none-any.whl (5.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page