2

私は現在、仕事で Python を学ぶだけでなく、Linux 環境にデプロイするためのコーディングを行うために Windows マシンを使用しなければならない立場にいます。

私がやろうとしていることは、できれば簡単な作業です。

ルート (私の Windows マシンでは c:\www) に「www」というサブディレクトリがあり、ファイルが存在しない場合はそこにファイルを作成する必要があります。

このコードを使用して、開発マシンでこれを機能させることができます。 file = open('c:\\www\\' + result + '.txt', 'w')ここで、「result」は作成するファイル名であり、このコードを使用して 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

OS に依存しないように、手動でハードコーディングしたり、パス区切り記号などの OS 固有の処理を行ったりしないでください。両方の環境の問題ではなく、すべての環境の問題です。

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 に答える