gpt4 book ai didi

python - 如何制作一个可以从任何目录 : the script file doesn’t have to be in the same directory as the . csv 文件运行的 python 脚本?

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:09 25 4
gpt4 key购买 nike

目前,我已经创建了一个代码,可以根据 .csv 文件中的数据制作图表。但是,只有当该代码存在于包含 csv 文件的文件夹中时,我才能运行该代码。如何制作脚本文件,使其不必与 .csv 文件位于同一目录中。

最佳答案

假设您打算在代码中包含固定的 CSV 文件,请根据脚本路径存储绝对路径:

HERE = os.path.dirname(os.path.abspath(__file__))

csv_filename = open(os.path.join(HERE, 'somefile.csv')

__file__是当前模块或脚本的文件名,os.path.dirname(__file__)是模块所在的目录。对于脚本,__file__可以是相对路径名,所以我们使用 os.path.abspath()将其转换为绝对路径。

这意味着您可以从任何地方运行脚本。

如果您想让脚本使用任意 CSV 输入文件,请使用命令行选项:

import argparse

if __name__ == '__main__':
parser = argparse.ArgumentParser('CSV importer')
parser.add_argument('csvfile', type=argparse.FileType('w'),
default='somedefaultfilename.csv')
options = parser.parse_args()
import_function(options.csvfile)

哪里csvfile将是一个打开的文件对象,所以你的 import_function()可以这样做:

def import_function(csvfile):
with csvfile:
reader = csv.reader(csvfile)
for row in reader:
# etc.

关于python - 如何制作一个可以从任何目录 : the script file doesn’t have to be in the same directory as the . csv 文件运行的 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17836269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com