Skip to content

Run Python File In Terminal doesn't escape special chars in pathnames #4165

@lockejan

Description

@lockejan

Environment data

  • VS Code version: 1.30.2
  • Extension version (available under the Extensions sidebar): 2018.12.1
  • OS and version: macOS 10.14.2
  • Python version (& distribution if applicable, e.g. Anaconda): 3.7.2 64-bit
  • Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
  • Relevant/affected Python packages and their versions: XXX

Expected behaviour

Running a script via Terminal would execute no matter where inside the project directory the script is stored

Actual behaviour

filepathes can't be resolved due to lack of escaping special characters:

example for special characters in pathname:
image
image

Steps to reproduce:

  1. Create a subdirectory in your project folder having brackets in it's name, for instance "foo(bar)".
  2. Create a file inside that directory. (In my case foo.py)
  3. Open the main project folder via the File-Handler in VSC.
  4. Open the foo.py file inside the subdirectory and execute it via "Run Python File In Terminal"

Logs

Output for Python in the Output panel (ViewOutput, change the drop-down the upper-right of the Output panel to Python)

Starting Jedi Python language engine.
##########Linting Output - pylint##########

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help; turn on source maps to make any tracebacks be useful by running Enable source map support for extension debugging)

XXX 

Old Second Part of Issue

Expected behaviour

linked path resources would be resolved relatively to the directory of the executed script

Actual behaviour

example for non resolvable pathes inside scripts:
image
image

line 3 of the script:
image

Steps to reproduce:

  1. Create a subdirectory in your project folder having brackets in it's name, for instance "foo(bar)".
  2. Create a file inside that directory. (In my case foo.py)
  3. Open the main project folder via the File-Handler in VSC.
  4. Open the foo.py file inside the subdirectory and execute it via "Run Python File In Terminal"
  5. Terminal replies then with "FileNotFoundError: [Errno 2] No such file or directory:"

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-environmentsFeatures relating to handling interpreter environmentsarea-terminalbugIssue identified by VS Code Team member as probable buglinuxmacosneeds PRReady to be worked on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions