【问题标题】:Ways to provide user files to an executable将用户文件提供给可执行文件的方法
【发布时间】:2021-06-29 15:27:24
【问题描述】:

我制作了一个 Python 脚本,现在我想通过使用 PyInstaller 将其转换为 .exe 将其分发给其他人。

此脚本读取用户 Excel 表以获取信息,因此我需要可执行文件才能知道要读取哪个文件。

有没有一种简单的方法可以让任何人都可以分析他们的文件?在这种情况下,就像将具有特定文件名的 .xlsx 文件放到可执行目录中,这样可执行文件就可以为许多不同的人读取许多不同的 Excel 工作表?

换句话说,我想知道是否有一种方法可以做到这一点,就像将 Excelsheet 拖放到可执行文件目录中一样简单,然后让其他人运行 .exe

感谢任何输入!

【问题讨论】:

  • 使用input获取文件路径,用户应该能够将文件拖放到终端并获取路径:filepath = input(File path: )
  • 您可以使用 Tkinter 或 PyQT 打开常规的操作系统文件选择器
  • @It_is_chris 真是天才!简单有效。我认为这是最简单的方法,所以我会尝试。谢谢!
  • @MontX 没问题,祝你好运。

标签: python file executable


【解决方案1】:

我想知道您如何通过硬编码全名指定文件名?
拖放文件是个好主意,但可能不是跨平台的。 您可以简单地要求用户将 excel 文件 除了 exe(不是桌面!),然后双击 exe。 代码会扫描当前目录下的文件:

import os

# help you know where user is running
print(os.path.abspath(os.getcwd()))
for f in os.listdir():
    # or any other criteria
    if f.endswith('.xlsx'):
        print(f)  # process the file here
        break # if you only want process one file

【讨论】:

  • 这听起来很棒!我可能不得不考虑一下。我唯一担心的是,如果桌面上有多个 Excel 文件,它可能会崩溃。这会是个问题吗?
  • 我根据您的 cmets 更新了答案。
猜你喜欢
  • 1970-01-01
  • 2017-01-31
  • 1970-01-01
  • 2018-11-28
  • 1970-01-01
  • 2012-01-17
  • 2016-05-09
  • 1970-01-01
  • 2011-02-08
相关资源
最近更新 更多