Python appending *.* to string

104 views Asked by At

Why does

>>> import os
>>> os.listdir('C:\\Users\\tom\\Desktop\\PythonScripts\\charList.txt')

give this error:

Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
WindowsError: [Error 267] The directory name is invalid: 'C:\\Users\\tom\\Desktop\\PythonScripts\\charList.txt/*.*'

I thought it was an issue with the string encoding, but apparently not?

2

There are 2 answers

2
Paulo Bu On BEST ANSWER

Here: 'C:\Users\tom\Desktop\PythonScripts\charList.txt'. That's a file name, not a directory name.

Try without charList.txt:

os.listdir('C:\\Users\\tom\\Desktop\\PythonScripts')

Any particular reason why you're appending the filename to a listdir operation?

1
M4rtini On
listdir(path) -> list_of_strings

Return a list containing the names of the entries in the directory.

path: path of directory to list

The list is in arbitrary order.  It does not include the special
entries '.' and '..' even if they are present in the directory.

You've given it a path to a file, not a directory.