如何在 Python 中的 Linux 和 Windows 中使用“/”(目录分隔符)?
- 2024-10-17 08:47:00
- admin 原创
- 69
问题描述:
我用 python 编写了一个代码,它使用 / 在文件夹中创建一个特定的文件,如果我想在 Windows 中使用该代码,它将不起作用,有没有办法可以在 Windows 和 Linux 中使用该代码。
在 python 中我使用这个代码:
pathfile=os.path.dirname(templateFile)
rootTree.write(''+pathfile+'/output/log.txt')
当我在假设的 Windows 机器上使用我的代码时,我的代码将无法运行。
如何在 Linux 和 Windows 中使用“/”(目录分隔符)?
解决方案 1:
使用os.path.join()
. 例如:os.path.join(pathfile,"output","log.txt")
。
在您的代码中将是:rootTree.write(os.path.join(pathfile,"output","log.txt"))
解决方案 2:
使用:
import os
print os.sep
查看分隔符在当前操作系统上的样子。
您可以在代码中使用:
import os
path = os.path.join('folder_name', 'file_name')
解决方案 3:
您可以使用os.sep:
>>> import os
>>> os.sep
'/'
解决方案 4:
os.path.normpath(pathname)
还应该提到,因为它将/
路径分隔符转换为`Windows 上的分隔符。它还会折叠冗余的上级引用……即,
A/B和
A/foo/../B和
A/./B都变为
A/B。如果您使用的是 Windows,这些都变为
AB`。
解决方案 5:
如果你有幸运行 Python 3.4+,那么你可以使用pathlib
:
from pathlib import Path
path = Path(dir, subdir, filename) # returns a path of the system's path flavour
或者,等价地,
path = Path(dir) / subdir / filename
解决方案 6:
一些有用的链接可以帮到你:
骨分离
os.path
os.pathsep
解决方案 7:
做一个import os
然后使用os.sep
解决方案 8:
您可以使用“ os.sep ”
import os
pathfile=os.path.dirname(templateFile)
directory = str(pathfile)+os.sep+'output'+os.sep+'log.txt'
rootTree.write(directory)
解决方案 9:
不要自己建立目录和文件名,使用 python 包含的库。
在这种情况下,相关的是os.path。特别是 join ,它从目录和文件名或目录创建新的路径名,而 split 则从完整路径获取文件名。
你的例子是
pathfile=os.path.dirname(templateFile)
p = os.path.join(pathfile, 'output')
p = os.path.join( p, 'log.txt')
rootTree.write(p)
解决方案 10:
如果有人正在寻找这样的东西:
他/她想知道父目录,然后转到子文件夹,也许还转到特定文件。如果是这样,我会使用以下方法。
我现在使用的是 Python 3.9。因此,在该版本中,我们有os模块来处理此类任务。因此,要获取父目录:
parent_dir = os.path.pardir
不硬编码文件路径分隔符(/ 或 \)是一种很好的编码习惯。相反,使用上述os模块提供的操作系统相关机制。它使您的代码非常适用于其他目的/人员。它如下所示(仅作为示例):
path = os.path.pardir + os.sep + 'utils' + os.sep + 'properties.ini'
print(f'The path to my global properties file is :: {path}')
输出:
..\实用程序\属性.ini
您可以在此处查看整个文档: https ://docs.python.org/3/library/os.html
解决方案 11:
我用于pathlib
大多数事情,所以我喜欢:pathlib.os.sep
。
pathlib
如果您不需要,通常是更好的选择os
!
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件