2017-04-04 60 views
0

我正在寫將別名,並從不同的目錄,這樣運行了一個python腳本:Python中獲得相對於命令行用戶文件

# working 
python myScript.py file.txt 

或:

# not working 
python script/myScript.py other_file.txt 

我引用文件輸入是這樣的:

file = sys.argv[1] 

如何讓腳本根據命令行用戶位置查找文件我而不是相對於腳本的位置?

+2

這就是默認情況下的工作原理,至少在我的機器上是如此。 – zondo

+1

您的輸入文件將在您輸入命令的目錄中查找。你有什麼錯誤信息?錯誤可能來自無法找到腳本。 – Shiping

回答

2

試試這個:

import os 

print(os.getcwd()) 

這會給你當前的工作目錄(CWD)。並使用其他功能,如os.path.join,你可以實現你想要的。

完整的示例:

import os 
import sys 

def main(): 
    if len(sys.argv) < 2: 
     print('Not enough arguments.') 
     sys.exit(1) 

    print('Current working directory: %s' % os.getcwd()) 
    print('What you want: %s' % os.path.join(os.getcwd(), sys.argv[1])) 

if __name__ == '__main__': 
    main() 

嘗試使用它。

相關問題