为什么我不进入路径文件“系统找不到指定的路径”

时间:2019-01-02 08:22:18

标签: python shutil os.path pathlib

所以我在python中使用了一个函数,在Robotframework中将其从源复制到目标 我已经使用os.path.join()和os.listdir()以及os.path.normpath()来访问文件夹并使用shutil复制 但是每次我收到这个错误

WindowsError: [Error 3] The system cannot find the path specified: '\\10.28.108.***\\folder\\folder2\\out/*.*'

我的代码

from pathlib import Path
import shutil
import os

#filename = Path ("\\10.28.108.***\folder\folder2\out\001890320181228184056-HT.xml")

source = os.listdir("\\10.28.108.***\folder\folder2\out")
destination = "\\10.28.108.***\folder\folder2\"
for files in source :
    if files.endswith(".xml"):
        shutil.copy(files, destination)

3 个答案:

答案 0 :(得分:0)

这里第一件事是检查是否可以从文件资源管理器访问此文件夹(\ 10.28.108。\ folder \ folder2 \ out)

另一件事是,如果要访问下面的示例,则必须指定两个斜杠:

source = os.listdir(r"\\10.28.108.xxx\folder\folder2\out")

答案 1 :(得分:0)

通过此操作,您可以读取文件。

filename = secure_filename(file_name.filename)
file_split = os.path.splitext(filename)
filename = file_split[0] + '__' + str(uuid.uuid4()) + file_split[1]
filepath = os.path.join(dest_dir, filename)
syspath = os.path.join(upload_dir, filepath)
file_name.save(syspath)

答案 2 :(得分:0)

反斜杠是Python字符串中的特殊字符,与其他许多语言一样。有很多方法可以解决此问题,首先是将反斜杠加倍:

filename = Path ("\10.28.108.***\folder\folder2\out\001890320181228184056-HT.xml")

使用原始字符串:

filename = Path ("\\10.28.108.***\\folder\\folder2\\out\\001890320181228184056-HT.xml")

或使用os.path.join构造路径:

os.path.join("10.28.108.", "folder", "folder2", "out", "001890320181228184056-HT.xml")

os.path.join是最安全,最可移植的选择。

Source