繁体   English   中英

如何以“ file:///// SERVER // folder1 / folder2 /

[英]How to get Path in the form "file://///SERVER//folder1/folder2/

我是python的新手,我遇到以下问题(仅举一个例子):

 import os
 mypath = 'I:\Folder1'
 for dirpath,_,filenames in os.walk(mypath):
        for f in filenames:
            getpath = os.path.abspath(os.path.join(dirpath, f))

以以下形式返回路径:

I:\\ Folder1中\\文件夹2

对我来说通常没关系

但是,“ I:\\”是我们工作中的服务器之一,为了进行进一步处理(html内容),我需要采用这种格式的确切地址

文件://///服务器名/子文件夹/资料夹/文件夹2

编辑:换句话说:

我的程序可以在本地使用,也可以在其他服务器上使用-它仅取决于用户。 相反,愚蠢地说我需要一个函数来返回win10中的内容:“右键单击文件夹->路径复制-> file://// ....”。 而且我只知道我计算机上的此路径称为“ I:\\ Folder1” ..但是服务器名称为“ I:\\ Folder1”

编辑2:解决(请参阅评论)

如果您在Windows平台上并且需要正斜杠,则实际上可以导入特定于操作系统的版本。 例如,您可以使用posixpath

要解决您的问题,您需要首先从每个返回dirpath mypath 接下来,使用操作系统的分隔符“ \\ ”将其拆分为文件夹组件。 然后可以使用posixpath.join()命令使用server前缀将其全部重新加入。 例如:

import posixpath
import os

mypath = r'I:\Folder1'
server = 'file://///Servername/Subfolder'

for dirpath,_,filenames in os.walk(mypath):
    for f in filenames:
        subfolder = dirpath[len(mypath):]
        server_path = posixpath.join(server, *subfolder.split(os.sep), f)
        print(server_path)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM