OS独立文件系统访问

时间:2013-06-18 16:19:29

标签: python file io directory

我目前发现自己不仅要在工作中学习python,还要使用Windows机器进行编码以部署到Linux环境。

我希望做的是一项简单的任务。

根目录中有一个名为'www'的子目录(在我的Windows机器上,它是c:\ www),如果它不存在,我需要创建一个文件。

我可以使用以下代码在我的开发机器上运行: file = open('c:\\www\\' + result + '.txt', 'w')其中'result'是我要创建的文件名,它也可以在Linux环境中使用以下代码:file = open('www/' + result + '.txt', 'w')

如果有一种快速简便的方法可以将我的语法更改为在两种环境中都有效?

2 个答案:

答案 0 :(得分:5)

您可能会发现os.path有用

 os.path.join( '/www', result + '.txt' )

答案 1 :(得分:0)

对于操作系统独立性,您不应手动硬编码或执行任何特定于操作系统的操作,例如路径分隔符等。这不是两个环境的问题,而是所有环境的问题:

import os
...
...
#replace args as appropriate
#See http://docs.python.org/2/library/os.path.html
file_name = os.path.join( "some_directory", "child of some_dir", "grand_child", "filename")
try:
    with open(file_name, 'w') as input:
        .... #do your work here while the file is open
        ....
        pass  #just for delimitting puporses
    #the scope termination of the with will ensure file is closed
except IOError as ioe:
    #handle IOError if file couldnt be opened
    #i.e. print "Couldn't open file: ", str(ioe)
    pass #for delimitting purposes

#resume your work