2014-01-13 66 views
1

我有一個程序,我寫了一個目錄中的所有文件,然後查找帶有標誌的文件,然後將它們輸入到不同的程序中。它工作的很好,我現在唯一想做的事情就是把腳本放在一個盒子的一個位置上,然後讓它知道要查看我當前作爲工作目錄的目錄。目前,我所做的只是將腳本mv到我正在工作的任何目錄中,然後從那裏調用它,但這很枯燥,需要我不斷地使用腳本。如何讓Python知道你正在工作的目錄

我只是希望有一個更優雅的方式來做到這一點?任何幫助,將不勝感激。

回答

7

怎麼樣

import os 

loc = os.getcwd() 
+0

謝謝!這很簡單... –

1

__ 文件 __對象可以返回這樣的信息:

import os 

os.path.dirname(__file__) 
+1

這會給您當前的*文件*處於可能不是目錄你當前的目錄。 –

+0

對,我誤解了原來的問題。此外,因此,這必須被稱爲形式__within__文件才能正常工作。 – skeryl

0

如果您習慣通過工作目錄作爲參數傳遞給腳本時,以下方法將起作用。

#!/usr/bin/env python 
import sys 
import os 

workingDir = sys.argv[1] 
os.chdir (workingDir) 

# Your code here 
+0

'os.getcwd()'好得多。 –

+0

爲什麼? os.getcwd()獲取當前的工作目錄,但我無法理解這將如何幫助運行代碼在本地運行在不同的子目錄中。 – Spade

0

聽起來像一個完美的使用爲os.walk()從幫助的例子是一個很好的起點:

import os 
from os.path import join, getsize 
for root, dirs, files in os.walk('python/Lib/email'): 
    print root, "consumes", 
    print sum(getsize(join(root, name)) for name in files), 
    print "bytes in", len(files), "non-directory files" 
    if 'CVS' in dirs: 
     dirs.remove('CVS') # don't visit CVS directories 
相關問題