私は何をしているのか簡単な概要を以下に示します。ネットワークディレクトリのpythonを使ってpdfマージルーチンを自動化しようとしています。ネットワークの場所。私の言葉があまり正確でない場合にはお詫び申し上げます。pythonプログラムを使ってネットワークフォルダにアクセスする
私はPython 3.6を使用してWindows 7でコーディングしています。プログラムは他のマシンに配布する必要がありますので、ローカルと一時的な修正はおそらく役に立ちません。私が書いたコードは完全に機能し、すべてのローカルフォルダとファイルで正常に動作しますが、ネットワーク上で使用する必要があるため、必要なフォルダにアクセスする際にいくつかの問題があります。ただCMDに入力されたとき
os.system("pushd " + "\\" + "\\netWorkDrive\Reports")
check_output("pushd " + "\\" + "\\netWorkDrive\Reports", shell=True)
pushd
とpopd
作業罰金が、私はシステムを行うとき、彼らは単に通過していないのpythonを通じて呼び出します。ここでは
ありがとうございました!
私は本当に働いて変更する必要があれば、私はちょうど私がを行う必要があるものは何でも、ファイル操作のパスでネットワークパスを含む完全なパスを含むであろう、このような方法でのpushd/POPDを使用することはありません
は多くのものがあります。ドライブのグローバルアドレスはありますか?ローカルにマップされた「手紙」ではなく? (大企業のイントラネットネットワークにはグローバルアドレスがあり、従業員はしばしば自分自身の "N:"(またはそれに関わらず)ドライブにマップします)全体のアドレスを使用してください。 'r'C:/ Users/Vlox/Stuff'''は生の文字列を示しますので、スラッシュは正しく読み込まれます(定期的に問題を引き起こす可能性のあるpythonエスケープ文字です)。あるいは、doubleあなたのバックスラッシュ ''C:// Users // Vlox // Stuff'' – Vlox
グローバルアドレスを使用していると思うのは、誰もが" \\ ourFolderName \ reports "というネットワークにアクセスするためです。 、 'popd'は私のために一時的なドライブを作成しますが、私はまだその段階にはいません。私はパス名を文字列でテストしたので、スラッシュに入った方法はすでにエスケープ文字を考慮しています。まだrを試してみましたが、残念ながらそれは助けになりませんでした。 –
PUSHDはうまく動作しています。しかし、作成されたシェルが終了すると、os.system()を呼び出す前のcwdを持つ既存のプロセスに戻ります。 – lit