![](/img/trans.png)
[英]How to add multiple folders into a zip file (add folder1, folder2 to myzip.zip filr containing few files)
[英]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.