-3

所以我在 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)
4

3 回答 3

1

通过这个你可以阅读你的文件。

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)
于 2019-01-02T08:31:24.883 回答
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 是最安全和最便携的选择。

资源

于 2019-01-02T08:34:53.203 回答
0

首先检查您是否可以从文件资源管理器访问此文件夹(\10.28.108.\folder\folder2\out)

另一件事是,如果您要访问远程文件夹,则必须指定两个斜杠,例如:

source = os.listdir(r"\\10.28.108.xxx\folder\folder2\out")
于 2019-01-02T08:26:06.807 回答