2

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

我想要做的是,希望,一个简单的任务。

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

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

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

4

2 回答 2

5

你可能会发现os.path有用

 os.path.join( '/www', result + '.txt' )
于 2013-06-18T16:21:09.410 回答
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
于 2013-06-18T16:31:50.273 回答