猿问

定义文件位置与python文件在同一文件夹中

我想定义以下文件的文件路径,这些文件与 python 文件位于同一位置。谷歌搜索中的所有问题都涉及打开文件但不获取位置。如何才能做到这一点?


abaqus_input_template_path = '/30_30_0-8.inp'

cost_path = '/CostEstimation_001.xlsx'

pole_option_path = '/지주.xlsx'

chord_option_path = '/상,하현재 .xlsx'

diagonal_option_path = '/사재.xlsx'

element_label_by_type_path = '/Element label number by Type.xlsx'

tunnel_png_path = '/tunnel.png'

mip_obj_path = '/mip_res.obj'

编辑:


test =project(abaqus_input_template_path,cost_path,pole_option_path,chord_option_path,

             diagonal_option_path,element_label_by_type_path,tunnel_png_path,mip_obj_path)

该位置在另一个函数中使用。



杨__羊羊
浏览 164回答 4
4回答

慕森王

您需要提供绝对路径import osCURRENT_DIR = os.path.dirname(__file__)  # Gets directory path of the current python modulecost_path = os.path.join(CURRENT_DIR , 'CostEstimation_001.xlsx')

凤凰求蛊

例如,要在根目录中查找名为 Mattermost 的目录,您可以使用以下命令。sudo find / -name "mattermost" -type d用于查找文件位置sudo find / -name "mattermost" -type f如果您想获取脚本中的文件位置,请按照grismar的建议使用 os 模块

隔江千里

您可能正在寻找__file__.创建一个名为的脚本try_this.py并运行它:from pathlib import Pathprint(__file__)print(Path(__file__).parent)print(Path(__file__).parent / 'some_other_file.csv')结果应该是这样的:C:/Location/try_this.pyC:\LocationC:\Location\some_other_file.csv

米脂

如果导入 os 模块,有一些函数可以帮助您: os.path.abspath(如果某个东西已经在同一目录中,它会为您提供路径)和 os.walk(它会搜索它并提供它的位置) 。import osexe = 'something.exe'#if the exe just in current dirprint os.path.abspath(exe)# output# D:\python\note\something.exe#if we need find it firstfor root, dirs, files in os.walk(r'D:\python'):    for name in files:        if name == exe:            print os.path.abspath(os.path.join(root, name))# output# D:\python\note\something.exe
随时随地看视频慕课网APP

相关分类

Python
我要回答