Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Windows目录名无效_Python_Python 3.x_Command Line - Fatal编程技术网

Python Windows目录名无效

Python Windows目录名无效,python,python-3.x,command-line,Python,Python 3.x,Command Line,这是我的代码,我正在尝试,但它不断重复相同的错误。 如果我做错了什么,请告诉我 import os import sys for x in sys.argv: for ff in os.listdir(x): path = os.path.join(x, ff) if os.path.isdir(path): print('\n--' + path) else: print('\t-----

这是我的代码,我正在尝试,但它不断重复相同的错误。 如果我做错了什么,请告诉我

import os
import sys

for x in sys.argv:
    for ff in os.listdir(x):
        path = os.path.join(x, ff)
        if os.path.isdir(path):
            print('\n--' + path)
        else:
            print('\t------' + path)
这是不断重复的错误,一次又一次,请有人帮帮我

Traceback (most recent call last):
  File "E:/projects/Intern/file&folders/cc.py", line 5, in <module>
    for ff in os.listdir(x):
NotADirectoryError: [WinError 267] The directory name is invalid: 'E:/projects/Intern/file&folders/cc.py'
回溯(最近一次呼叫最后一次):
文件“E:/projects/Intern/File&folders/cc.py”,第5行,在
对于os.listdir(x)中的ff:
NotDirectoryError:[WinError 267]目录名无效:“E:/projects/Intern/file&folders/cc.py”

几年前,我在一台Windows机器上遇到了一个类似的错误。我认为问题在于您的路径包含一个特殊字符(&)。。。只需更改文件夹的名称,或使用退格键将其转义即可。几年前,我在Windows计算机上遇到了类似的错误。我认为问题在于您的路径包含一个特殊字符(&)。。。只需更改文件夹的名称或使用退格符将其转义即可。我认为问题可能是某些路径包含不受良好支持的字符
&


请尝试更改文件夹名称并避免使用此类字符,或者尝试跳过可能包含该名称的路径。

我认为问题可能是某些路径包含不受良好支持的字符
&


尝试更改文件夹名称并避免使用此类字符,或尝试跳过可能包含该名称的路径。

使用以下代码:-

import os
import sys

for x in sys.argv[1:]:
    for ff in os.listdir(x):
        path = os.path.join(x, ff)
        if os.path.isdir(path):
            print('\n--' + path)
        else:
            print('\t------' + path)

您正在将整个
sys.argv
列表传递给
os.listdir()
函数。第一个元素始终是脚本本身,它不是目录。因此,我们按第一个元素分割参数列表。

使用以下代码:-

import os
import sys

for x in sys.argv[1:]:
    for ff in os.listdir(x):
        path = os.path.join(x, ff)
        if os.path.isdir(path):
            print('\n--' + path)
        else:
            print('\t------' + path)

您正在将整个
sys.argv
列表传递给
os.listdir()
函数。第一个元素始终是脚本本身,它不是目录。因此,我们将参数列表按第一个元素进行切片。

运行脚本时传递的参数是什么?对于windows中的目录,必须使用反斜杠而不是正斜杠。将E:\projects\Intern\file&folders\cc.py作为参数传递,然后查看发生了什么。运行脚本时传递的参数是什么?对于windows中的目录,必须使用反斜杠而不是正斜杠。将E:\projects\Intern\file&folders\cc.py作为参数传递,然后查看发生了什么。