2017-11-28 60 views
-2

私のネットワークドライブ内のいくつかのファイルにアクセスしたいです。 私のネットワークドライブは "networkfile"と呼ばれます。これをWindowコマンドラインで実行すると、net use \ networkfile \ Programsとなります。私は、Pythonスクリプト(私はのpython3を使用しています)に入れたときにPython 3スクリプトで "net use"が機能しませんでした

しかし、それは動作しませんでした。私が試した:

= os.system( "ネット利用のOを:\ networkfile \プログラム")

= os.system( "ネット使用\ networkfile \プログラム")

= OS .system( "ネット使用\ networkfile \プログラム")

= subprocess.run( "ネット利用のO:\ networkfile \プログラム"、シェル= Trueの場合、STDOUT = subprocess.PIPE)これらの

なし作業。エラー: "システムエラー67が発生しました。ネットワーク名が見つかりません。"

誰もが前にこれを経験していますか? アドバイスをお願いします。 \nが改行文字として解釈されるため

net use O: 
etworkfile\Programs 

おかげで、

+1

'プリント(「ネット使用\ networkfile \プログラム」)'とそれだけでエスケープされた場合、第三tiral問題はそれをしません解決しただろうjuanpa.arrivillaga @ ...それはあなたを示して何 –

+0

を見ます? – Aaron

+1

@Aaronええと、いや、**あなたは** juanpa.arrivillaga @ –

答えて

0

あなたの文字列"net use O:\networkfile\Programs"は、次のようにPythonインタプリタによって評価されています。あなたはカップルの異なる方法

  1. (ほとんどの場合)バックスラッシュが特別扱いされることを防ぐために、生の文字列を(hereを4つの段落を下参照)を使用

    でこの問題を回避することができます。彼らは文字通りのバックスラッシュに評価するよう

  2. は正しいディレクトリの区切りは、オペレーティングシステムに関係なく使用されているように文字列を生成するos.pathライブラリを使用する("\\"にすべての"\"を作る)

  3. をバックスラッシュ自身をエスケープ

+0

ダブルフラッシュが動作します。これは私のために働く:a = os.system( "net use \\\ networkfile \\ Programs")。ご協力いただきありがとうございます。それは有り難いです。 –

関連する問題