This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: os.path.dirname leave left quote and remove right one
Type: Stage: resolved
Components: Library (Lib) Versions: Python 3.4
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: Raffaele Mancuso, zach.ware
Priority: normal Keywords:

Created on 2015-11-07 15:02 by Raffaele Mancuso, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (2)
msg254273 - (view) Author: Raffaele Mancuso (Raffaele Mancuso) Date: 2015-11-07 15:02
Python 3.4.3 (default, Jun 29 2015, 12:16:01) 
[GCC 5.1.1 20150618 (Red Hat 5.1.1-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> dir = "\"ciao/come/stai/ciao.pdf\""
>>> dir
'"ciao/come/stai/ciao.pdf"'
>>> os.path.dirname(dir)
'"ciao/come/stai'

As you can see, dirname has removed the right quote, but not the left one.
The correct behaviour should be
'ciao/come/stai' (no quotes)
OR
'"ciao/come/stai"' (both quotes)
but never
'"ciao/come/stai' (only one quote)

This breaks other bash tools
msg254274 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2015-11-07 15:10
As far as os.path.dirname is concerned, you have a file named 'ciao.pdf"' in a directory called '"ciao/come/stai', which is what you're seeing. Since those are legal names, there's no way for os.path.dirname to know what you actually want. The solution is to handle the quotes yourself however you want.
History
Date User Action Args
2022-04-11 14:58:23adminsetgithub: 69763
2015-11-07 15:10:51zach.waresetstatus: open -> closed

nosy: + zach.ware
messages: + msg254274

resolution: not a bug
stage: resolved
2015-11-07 15:02:51Raffaele Mancusocreate