问题:如何在Linux和Windows中的Python中使用“ /”(目录分隔符)?
我已经在python中编写了一个代码,该代码使用/在文件夹中创建特定文件,如果我想在Windows中使用该代码将无法正常工作,有没有一种方法可以在Windows和Linux中使用该代码。
在python中,我使用以下代码:
pathfile=os.path.dirname(templateFile)
rootTree.write(''+pathfile+'/output/log.txt')
当我在Windows计算机中使用我的代码时,我的代码将无法工作。
在Linux和Windows中如何使用“ /”(目录分隔符)?
回答 0
使用os.path.join()
。范例:os.path.join(pathfile,"output","log.txt")
。
在您的代码中将是: rootTree.write(os.path.join(pathfile,"output","log.txt"))
回答 1
用:
import os
print os.sep
查看分隔符在当前操作系统上的外观。
在您的代码中,您可以使用:
import os
path = os.path.join('folder_name', 'file_name')
回答 2
您可以使用os.sep:
>>> import os
>>> os.sep
'/'
回答 3
/
路径分隔符转换为\
分隔符。它还折叠冗余uplevel引用…即,A/B
与A/foo/../B
和A/./B
一切变得A/B
。如果您使用的是Windows,那么所有这些都将变为A\B
。
回答 4
如果您有幸能够运行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
回答 5
一些有用的链接将帮助您:
回答 6
做一个import os
然后使用os.sep
回答 7
您可以使用“ os.sep ”
import os
pathfile=os.path.dirname(templateFile)
directory = str(pathfile)+os.sep+'output'+os.sep+'log.txt'
rootTree.write(directory)
回答 8
不要自行建立目录和文件名,请使用python随附的库。
在这种情况下,相关的是os.path。特别是join,它从目录和文件名或目录创建一个新的路径名,然后从完整路径中获取文件名。
你的例子是
pathfile=os.path.dirname(templateFile)
p = os.path.join(pathfile, 'output')
p = os.path.join( p, 'log.txt')
rootTree.write(p)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。