2016-06-27 11 views
0

まずはPythonの経験がほとんどなく、用語について多くのことを理解していません。第二に、以前はPythonでファイルパスを使用する必要がなかったため、関連する用語やメソッドを説明する必要があるかもしれません(または、Python DocsのようなPython用語ではあまり強くないリンクを理解しやすいかもしれません)。デスクトップからPythonモジュールをインポートする、経験の浅いプログラマー

私はモジュラプログラミングを使用しています。私の機能は、デスクトップの1つのファイルに3つの異なるファイルに分かれています。C:\Users\User\Desktop\Folder_name\file1.py

import randomと同じように機能するように、すべての機能を使用する予定です。

+0

あなたは何を試しましたか、うまくいかないのですか? – Julien

+0

私は多くの研究をしましたが、私が行動に移すことができるのは技術的すぎました。私は単純にmodule_name(例:C:\ Users \ User_name \ Desktop \ Folder_name \ File1.py)の代わりにfile_pathを書き込もうとしました。 ウェブからのものをコピーしようとしましたが、何か変更が必要かどうか分からなかった。例えば@Jeff L.を使って、 'path'の代わりにfile_pathを、' __file__'の代わりにfile_nameを書くかもしれません。 – murjl006

答えて

0

問題は、pythonファイルがpython検索パスに表示されないことです。 解決する方法はいくつかあります。

  1. @Jeffが言うように:
import os 
path = os.path.dirname(os.path.realpath(__file__)) 
sys.path.append(path) 

この1つは現在の実行コンテキストで検索パスに現在のファイルのディレクトリを追加します。ファイル/path/b.pyのこれらの行を使用して、/path/a.pyまたは/path/の任意のpythonプログラムを使用できます。

  1. IDEs関数を使用します。あなたのIDEから実行するだけで、彼らはパスを埋めるでしょう。

  2. あなたのpythonファイルを任意の検索パスディレクトリに置きます。これはあなたの要求を実現するusing all of the functions within and as such would like it to work similar to import randomです。しかし、それはあなたの実行環境が汚れてしまいます。 virtualenvを使用する方が良いでしょう。

+0

ありがとうございました、これは私が必要としていたものです。 ファイル名の一部にスペースが含まれていて、それが何かに影響するかどうかわからないので、動作させるにはしばらく時間がかかりました。 – murjl006

0

依存モジュールは、あなたが実行しているスクリプトと同じフォルダ内にある場合:

import os 
path = os.path.dirname(os.path.realpath(__file__)) 
sys.path.append(path) 

彼らは別の場所にいる場合は、あなただけ手動で何かへのパスを指定することができますが、あなたが作ってみる必要がありますあなたが実行する場所に関連してパスを定義することで動き回ることができます。

+0

@kroderia 私はsysをインポートステートメントに追加しなければなりませんでした。 – murjl006

+0

ああ申し訳ありませんが、私はインポートを表示せずにsysを使いました。あなたはそれを正しくしました。 – Jeff

関連する問題