为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

杨__羊羊 2023-10-18 15:48:11
我想定义以下文件的文件路径,这些文件与 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)该位置在另一个函数中使用。
查看完整描述

4 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

您需要提供绝对路径


import os


CURRENT_DIR = os.path.dirname(__file__)  # Gets directory path of the current python module

cost_path = os.path.join(CURRENT_DIR , 'CostEstimation_001.xlsx')


查看完整回答
反对 回复 2023-10-18
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

例如,要在根目录中查找名为 Mattermost 的目录,您可以使用以下命令。

sudo find / -name "mattermost" -type d

用于查找文件位置

sudo find / -name "mattermost" -type f

如果您想获取脚本中的文件位置,请按照grismar的建议使用 os 模块


查看完整回答
反对 回复 2023-10-18
?
隔江千里

TA贡献1906条经验 获得超10个赞

您可能正在寻找__file__.


创建一个名为的脚本try_this.py并运行它:


from pathlib import Path


print(__file__)

print(Path(__file__).parent)

print(Path(__file__).parent / 'some_other_file.csv')

结果应该是这样的:


C:/Location/try_this.py

C:\Location

C:\Location\some_other_file.csv


查看完整回答
反对 回复 2023-10-18
?
米脂

TA贡献1836条经验 获得超3个赞

如果导入 os 模块,有一些函数可以帮助您: os.path.abspath(如果某个东西已经在同一目录中,它会为您提供路径)和 os.walk(它会搜索它并提供它的位置) 。


import os

exe = 'something.exe'

#if the exe just in current dir

print os.path.abspath(exe)

# output

# D:\python\note\something.exe


#if we need find it first

for 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


查看完整回答
反对 回复 2023-10-18
  • 4 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信