/Users/smcho/Desktop/bracket/[10,20] directory has "abc.txt", but when I run this Python code
import glob import os.path path1 = "/Users/smcho/Desktop/bracket/\[10,20\]" pathName = os.path.join(path1, "*.txt") print glob.glob(pathName)
It returns an empty list.
The brackets in glob
are used for character classes (e.g. [a-z]
will match lowercase letters). You can put each bracket in a character class to force them being matched:
path1 = "/Users/smcho/Desktop/bracket/[[]10,20[]]"
[[]
is a character class containing only the character [
, and []]
is a character class containing only the character ]
(the closing bracket can be placed in a character class by putting it in the first position).
Additionally, since brackets aren't escaped in string literals, your code will look for a backslash as well as a bracket.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With