いているというお話をしているPythonスクリプト(cygwin品の電流または相対的に)ディレクトリ?

StackOverflow https://stackoverflow.com/questions/1117414

質問

レ原宿店にて限定発売中。ディレクトリにテキスト記述したファイルを使用(g)vim、書いた一部のユーティリティが見に役立つ。私は始めユーティリティとパウンド-バン/usr/bin/env pythonラインを利用するためには、Pythonに設置されている下のcygwin.いタイプのコマンドのようになります:

%cd~/SomeBook

これらのことから、pythonUtil

/usr/local/bin/pythonUtil

%pythonUtil./infile.txt ./outfile.txt

(%pythonUtil someRelPath/infile.txt somePossiblyDifferentRelPath/outfile.txt)

pythonUtil:見infile.txt;書くoutfile.txt;それぞれについて、"これまでもない)

しかし、私pythonUtilプログラムいろいろ教えてくれていんinfile.txt.まコピーの体に現在の作業ディレクトリになっていて、もってコピーの電捨ニケーションの場になるのです。どうかしてるのでしょうか?

他の編集:まとめると---何が欲しかったのはos.ます。abspath('ファイル名').返すの絶対パス名文字列として、すべての曖昧さを除去します。

もの:場合にはPython用の下に設置されcygwin、その絶対パス名とするCYGWINの相対パス名は、/home/someUser/someDir/someFile.txt.ただし、Python設置されていWindowsではこれからは、cygwin terminalコマンドライン、その絶対パス名は完全なWindowsのパスからドライブに、いD:\cygwin\home\someUser\someDir\someFile.txt.

徳:期待してはいけませんのcygwin Pythonを生成するWindows-完全に絶対パス名をファイルなしに根ざしたので/;を超え、そのイベント。しかし、すべてのファイルにWinXPシステムのcygwin ーションを指定した場合のファイルのパスは"/cygdrive/driveLetter"leadin約に従います。

備考:使用しない'\'sセパレータのWinXPのcygwinコマンドライン;使用'/'sと信頼をぶ。う理由が分離した場合は、パスが変更されるフリーライダーを生むことにもない、など"Documents and Settings\someUser"およびその他のWindowsナンセンスです。

への対応のためのshovingうのは正しい方向を向いている。

役に立ちましたか?

解決

見os.getcwd:

編集:相対パスをご覧くださいへと重点が移りつつある。パスモジュール:

特に、os.ます。参加os.ます。normpath.たとえば、次のようになります。

import os
print os.path.normpath(os.path.join(os.getcwd(), '../AnotherBook/Chap2.txt'))

他のヒント

あなたは「LS」を入力すると

はどうなりますか?あなたがそこに記載されている "infile.txt" を参照していますか?

os.chdir(my_dir)

または

os.chdir(os.getcwd())
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top