所以我在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)
答案 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是最安全,最可移植的选择。