将文件保存到Windows上的“桌面”文件夹时出现问题。我有两个try
语句。第一个尝试为Mac保存文件。第二个尝试将其保存到Windows。第二个except
处理程序默认将文件保存在与应用程序相同的文件夹中。在
try:
wb = openpyxl.load_workbook(os.path.expanduser('~/Desktop/' +
dateCur + '_' + timeCur + '_bap_attendance.xlsx'))
except:
try:
wb = openpyxl.load_workbook(os.getenv('%HOMEPATH%') + '\\Desktop\\' +
dateCur + '_' + timeCur + '_bap_attendance.xlsx')
except:
wb = openpyxl.load_workbook(
self.manager.get_screen('offline').ids.label3.text)
当我收到一个错误时,它通常会说它在寻找Users\BobSmith
,但是Windows帐户的用户名中应该有一个空格。getpass.getuser()
也返回“BobSmith”,但我需要键入“BobSmith”才能切换到目录并进入“Desktop”文件夹。在
如果找不到变量,
os.getenv()
将返回None
。在我看来,检查getenv
是否不返回None
,然后只执行try
/except
块,这样会更加优雅。在更相关的问题似乎是如何检索} or ^{} 将返回完整路径。在
%HOMEPATH%
,尽管Windows使用%sys_var%
作为系统变量,getenv()
需要没有%
符号的系统变量。另外,HOMEPATH
返回路径,但是没有驱动器,^{尝试下面的修改代码,它应该也适用于Windows。在
此外,您可以使用sys.platform()来执行特定于您的操作系统的代码。在
相关问题 更多 >
编程相关推荐