1

CWD と Python のインポート パスの違いについて少し混乱しています。

私が理解していることから:

C:\temp> python C:\...\PyTools\ex.py

スクリプト ファイルは C:...\PP4E\Tools\ にありますが、スクリプトは C:\temp にあるファイルを処理しますか? それとも私は何かを間違えていますか?

基本的に、特定のディレクトリから実行するスクリプトがあり、別のディレクトリのファイルを処理するために必要です。

C:\temp> python C:\...\PyTools\find.py *.py C:\...\Directory

繰り返しますが、スクリプトは PyTools ディレクトリ内のファイルにアクセスでき、\Directory 内のファイルを処理できます。しかし、CWD は \temp のままですか?

\temp は python パスに追加されていますか? CWD が Python パスに追加されることはありますか? 私は少し混乱しています。誰かが私にこれを説明できるなら、私は大いに義務付けられます. ありがとう。

4

1 に答える 1

0

Python の検索パス (importステートメントで指定されたモジュールを検索する場所) には、PYTHONPATH環境変数の内容、 の値sys.path、および実行中のスクリプトが配置されたディレクトリが含まれます。cwdデフォルトでは、現在の作業ディレクトリ ( ) が Python の検索パスに含まれることはありません。

Pythoncwdスクリプトを開始するときはcwd、スクリプトです。これは、 などのファイル操作が、open()パス修飾子がない現在のディレクトリ内のファイルを参照することを意味します。たとえば、c:\tempで Python スクリプトを実行すると、スクリプトは次のことを行います...

fd = open('myfile.txt')

...それからあなたは開きc:\temp\myfile.txtます。

別のディレクトリにあるファイルを開く場合は、次の場所へのフル パスを指定できますopen

fd = open('c:\\anotherdir\\myfile.txt')

または、コードで呼び出すことができos.chdir()ます:

os.chdir('c:\\anotherdir')
fd = open('myfile.txt')
于 2013-01-15T18:47:25.633 に答える