簡體   English   中英

當腳本具有文件路徑時,從目錄外部運行python代碼

[英]Running python codes from outside the directory when script has filepaths

所以我有一個Python腳本my_script.py ,它位於Test文件夾中,而我不在此文件夾中。 該腳本需要從存儲在文件夾Test的文件my_data.dat訪問某些輸入數據。

現在,當我嘗試使用簡單的python my_script.py從文件夾Test外部運行此腳本時,它將嘗試在運行腳本的文件夾中定位my_data.dat ,因此失敗。 如何在不實際修改my_script.py中的路徑的情況下告訴它使用正確的路徑?

我不想修改腳本中的路徑,因為該腳本通常用於各種路徑,並且整個過程稍后將自動進行。

您需要使用絕對文件路徑而不是相對文件路徑。

要獲取包含python文件的目錄的絕對路徑:

import os
ROOT_DIR = os.path.dirname(__file__)

並且您可以獲得my_data.dat絕對路徑

data_file_path = os.path.join(ROOT_DIR, 'my_data.dat')

之后,使用data_file_path代替"my_data.dat"

您可以將路徑my_data.dat作為腳本的參數傳遞,或者(如果數據文件始終與腳本位於同一目錄中),則可以使用變量__file__來確定腳本的位置並查找數據該目錄中的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM