在Windows上使用Python获取文件路径错误
我想在我的Windows上用Python加载文件路径。 但现在有一个问题: 守则:在Windows上使用Python获取文件路径错误,python,filepath,Python,Filepath,我想在我的Windows上用Python加载文件路径。 但现在有一个问题: 守则: def Test2(rootDir): f = [] for lists in os.listdir(rootDir): path = os.path.join(rootDir, lists) #print (path) #img = cv2.imread(path,0) #cv2.imshow("image",img)
def Test2(rootDir):
f = []
for lists in os.listdir(rootDir):
path = os.path.join(rootDir, lists)
#print (path)
#img = cv2.imread(path,0)
#cv2.imshow("image",img)
if os.path.isdir(path):
Test2(path)
if os.path.isfile(path):
print (path)
Test2(“D:/111test/picpic”)
其结果是:
D:/111test/picpic\haha1\111.png
结果不是我想要的,因为它包含“/”&“\”。
如何解决这个问题
另一个问题:
我使用Test2成功地获得了文件路径(“D:\111test\picpic”)
现在我想将这些文件路径替换为一个列表,我使用的代码是:
if os.path.isfile(path):
print (path)
f.append(path)
print(f)
结果是我不想要的:
['D:\\111test\\picpic\\haha1\\111.png',
'D:\\111test\\picpic\\haha1\\222.png']
因为列表的文件路径包含双“\”。我该怎么办
我的愿望是:获取文件路径,并将它们正确地放在列表中。
我很欣赏你的方法
我很高兴你的回答 处理Windows路径时,应切换到使用。如果您使用的是Python2,那么它也可以作为一个工具提供 要提供如何使用pathlib库的示例,请执行以下操作:
def Test2(rootDir):
f = []
rootDir = pathlib.Path(rootDir)
for iter_file in rootDir.iterdir():
if iter_file.is_dir():
Test2(iter_file)
if iter_file.is_file():
print(iter_file)
将您的代码添加为文本而不是图片。请完成。请帮助我。这是因为您将目录分隔符指定为
/
,而它在操作系统(windows)上是\的。尝试调用函数,如Test2(“D:\\111test\\picpic”)
@shahkalpesh谢谢。此问题已解决。但现在我想将这些文件路径放入列表中。我使用此代码:f.append(path)print(f),结果是:['D:\\111test\\picpic\\haha1\\111.png',D:\\111test picpicpic haha1\\222.png']。如何解决此问题?['D:\\111test\\picpicpic\\hahaa1\\111.png','D:\\111test\\picpicpic\\hahaa1\\222.png']有什么问题?
?请在原始帖子中详细说明额外的问题,包括你希望得到的结果
def Test2(rootDir):
f = []
rootDir = pathlib.Path(rootDir)
for iter_file in rootDir.iterdir():
if iter_file.is_dir():
Test2(iter_file)
if iter_file.is_file():
print(iter_file)