1

CurrentDir = C:\users\spring\projects\sw\demo\753\ver1.1\011\rev120\source私のファイルが。であるWindowsでPythonスクリプト2.5を書いていますtest.py。このパスから、このパスのファイルにアクセスしたいと思います。C:\users\spring\projects\sw\demo\753\ver1.1\011\rev120\Common\

私は使ってみos.path.joinましたが、うまくいきません。ドキュメントから私はその理由を理解しています。では、これに最適なpythonicソリューションは何でしょうか?

currentdir = os.getcwd()    
config_file_path =  os.path.join(currentdir,"\\..\\Common")
4

3 に答える 3

2
from os.path import dirname, join
join(dirname(dirname(__file__)), 'Common')

動作するはずです。

于 2011-07-12T06:08:26.377 に答える
2

を使用することで問題を解決できますos.path.joinが、適切に使用していません。

currentdir = os.getcwd()    
config_file_path =  os.path.join(currentdir,"\\..\\Common")

"\\..\\Common"で始まるため、は相対パスではありません\

..\\Common相対パスである、と結合する必要があります。

これは単純な文字列連結関数ではないことに注意してくださいos.path.join。間にアンチスラッシュを挿入する必要はありません。

したがって、修正されたコードは次のようになります。

config_file_path =  os.path.join(currentdir,"..\\Common")

または、代わりに:

config_file_path =  os.path.join(currentdir, "..", "Common")
于 2011-07-12T06:57:23.170 に答える
0

これを試して:

joined = os.path.join('C:\\users\\spring\\projects\\sw\\demo\\753\\ver1.1\\011\\rev120\\source', '..\\Common\\')
# 'C:\\users\\spring\\projects\\sw\\demo\\753\\ver1.1\\011\\rev120\\source\\..\\Common\\'
canonical = os.path.realpath(joined)
# 'C:\\users\\spring\\projects\\sw\\demo\\753\\ver1.1\\011\\rev120\\Common'
于 2011-07-12T06:09:37.630 に答える