python - 如何使用 Python 导出可执行文件的相对路径
问题描述
我已使用 pyinstaller 将 .py 文件转换为 exe。我的代码从存储在特定文件夹中的 Excel 表中获取数据,并使用它来更新 JIRA(网页)中的某些字段。
目前我正在给出 excel 表的完整路径(c:\desktop\Filename.xlsx)。我不希望用户输入 excel 文件的完整位置,而只提供文件名。为此,我正在考虑将可执行文件和 excel 文件保存在同一位置。我想要的是获取可执行文件的基本位置,然后在该位置附加文件名以到达 excel 文件位置。
尝试过文件但它不起作用?给出错误
下面的代码写在可执行文件中
import webbrowser as wb
import os
import xlrd as x
import time
import pyautogui as p
name = os.path.dirname(__file__)
val=input("Enter worksheet name that contains Issue ID and Dev Delivery Date details:\n")
filename = os.path.join(name,'val')
my_excel=x.open_workbook(filename)
sheet = my_excel.sheet_by_index(0)
j=0
if sheet.nrows==0:
print("\nYou have not provided any data. Kindly provide Issue ID in column A and Dev Delivery Date as a character in column B [Format:26/Sep/19]")
else:
if j<=i:
for i in range(sheet.nrows):
loc="https://jira.cvent.com/browse/"+sheet.cell_value(i,0)
wb.open_new(loc)
time.sleep(5)
p.moveTo(1200,700);
time.sleep(2)
p.press('.')
time.sleep(2)
p.typewrite("Dev Delivery")
time.sleep(2)
p.press("enter")
p.press("backspace")
p.typewrite(sheet.cell_value(i,1))
p.press("enter")
j=j+1
else:
os.system("taskkill /im chrome.exe /f")
我不想提供完整路径,而是只想提供文件名
解决方案
你在这里有一个错误“filename = os.path.join(name,'val')”,因为你把它当作 str,而不是作为属性,试试这个:
filename = os.path.join(name,val)
推荐阅读
- java - 执行结束时,日志会立即全部转储到控制台,而不是实时打印
- java - 如何从 Java 中的 Kotlin 高阶函数正确显示参数的名称
- reactjs - React Native with Redux 问题与 reducer 用于将项目添加到收藏夹
- python - 使用匹配的关键字对列表中的项目进行排序
- android - Android单元测试问题:没有注册仪器!必须在注册仪器下运行
- javascript - Select2 转换数据
- google-apps-script - 在 Google Apps 脚本中将日期转换为 unix 时间戳的正确方法
- python - 如何在 python turtle 中使用 2 个不同的按键一次移动 2 个不同的形状
- c# - 如何在 .net 核心中读取 ChunkedEncodingReadStream
- javascript - 将其移动到资源文件夹后在handsontable上出现404