Shuttil Python将文件复制到受限制的共享驱动器上

时间:2017-01-24 18:52:09

标签: python pdf

我目前正在使用selenium下载pdf(使用novaPDF)在Windows计算机上编写python程序,然后用新名称重写该pdf。

但是,此pdf的下载和最终保存位置位于共享网络驱动器上。我可以访问相关的文件夹,任何使用该程序的用户也可以访问正确的文件夹。

说到这里,我可以完美地下载文件(进入共享驱动器),但是当我尝试运行shutil.copy(curr, new)将下载的文件重命名为正确的名称时,我得到{{1 }}。我意识到我可以移动或重命名该文件,但我遇到了类似的问题,因此我正在复制然后删除原始文件(打开以更改此文件)。

我认为这个问题是共享驱动器上的权限,但很有必要。我将继续自己开展这项工作,如果我得到解决方案,我会发布,但随时可以提出任何后续问题。永远感谢帮助!

谢谢!

1 个答案:

答案 0 :(得分:0)

这并没有大规模地回答这个问题,但我会提供一些可能有助于某人完成类似项目的信息。

诀窍似乎在等待os.path.isfile返回true。然后再等一会儿。我所做的是,我最终编写了一个辅助函数,该函数接受该方法,然后使用给定的重试次数调用它。这看起来效果很好,一般来说它对硒非常有用,因为有时页面的加载时间比预期的要长一些。

这是辅助函数:

    def helper_function(self, method, *args):
    '''
    This method is a wrapper to allow calls to retry if the original
    call fails
    :return: the element if any
    '''

    exception = None

    for i in xrange(config.number_of_retries):
        try:
            element = method(*args)
            return element
        except Exception as e:
            exception = e
    raise Exception("Number of retries exceeded: " + repr(exception))