鱼C论坛

 找回密码
 立即注册
查看: 731|回复: 7

[已解决]关于pyinstall打包文件打开的问题

[复制链接]
发表于 2020-4-23 23:47:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问各位大佬,我用python编写了一段打开保存文件的代码(就是简单的输入文件名、输入内容、保存的简单程序,存在':w'的终止行为):
之后用pyinstaller进行包装成为text.exe,但是我当我用‘此电脑’的‘快速搜索‘功能,打开这个文件只是输入文件名按回车准备书写内容时却显示:
PermissionError:[Errno 13]Permission denied:'xxx'(此处不是面板显示内容:xxx代表我输入的文件名)
[22264]Failed to execute script text            
之后快速闪退
但是如果按照文件夹逐层打开后找到text.txt文件,则可以正常运行,可以正常输入文件名,按下回车后也可以输入内容。
我的疑问是:
请问为什么相同的文件用不同的查找方式打开,会出现不同的结果?
这个问题真的百思不得其解,请大佬们帮忙求解一下。

最佳答案
2020-4-24 01:33:56
本帖最后由 txxcat 于 2020-4-24 01:35 编辑
小泉app 发表于 2020-4-24 00:39
主要是在’此电脑‘中用两种不同的方式找到那个文件(text.exe)并且打开,一个报错,一个可以正常运行。 ...


我添加了print(os.getcwd()),然后打包测试,真相大白,原来在搜索中打开exe,当前目录是C:\Windows\system32。
批注 2020-04-24 013154.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-23 23:55:53 | 显示全部楼层
是不是放在桌面了,桌面文件夹没有权限的,你可以放到其他盘
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 00:11:56 | 显示全部楼层
Hello. 发表于 2020-4-23 23:55
是不是放在桌面了,桌面文件夹没有权限的,你可以放到其他盘

不是放在桌面上的,那个文件的位置是D:\dist
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 00:34:41 | 显示全部楼层
open一个文件不存在,会创建一个文件,创建文件的目录如果没有权限限制,有可能是目录下有一个名字和你创建的文件名字一样的子目录。你最好检查一下test.exe所在目录下的文件结构,顺便发一下源码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 00:36:41 | 显示全部楼层
txxcat 发表于 2020-4-24 00:34
open一个文件不存在,会创建一个文件,创建文件的目录如果没有权限限制,有可能是目录下有一个名字和你创建 ...

这是我的文件代码:
print('最后一行输入\':w\'保存')
file_name = input('请输入你想要的文件名:')
f = open(file_name,'w')
temp = []
while True:
    content = input('')
    if ':w' in content:
        break
    else:
        _str = content + '\n'
        temp.append(_str)
f.writelines(temp)
f.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 00:39:40 | 显示全部楼层
txxcat 发表于 2020-4-24 00:34
open一个文件不存在,会创建一个文件,创建文件的目录如果没有权限限制,有可能是目录下有一个名字和你创建 ...

主要是在’此电脑‘中用两种不同的方式找到那个文件(text.exe)并且打开,一个报错,一个可以正常运行。在这里很懵。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 01:33:56 | 显示全部楼层    本楼为最佳答案   
本帖最后由 txxcat 于 2020-4-24 01:35 编辑
小泉app 发表于 2020-4-24 00:39
主要是在’此电脑‘中用两种不同的方式找到那个文件(text.exe)并且打开,一个报错,一个可以正常运行。 ...


我添加了print(os.getcwd()),然后打包测试,真相大白,原来在搜索中打开exe,当前目录是C:\Windows\system32。
批注 2020-04-24 013154.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 09:29:22 | 显示全部楼层
txxcat 发表于 2020-4-24 01:33
我添加了print(os.getcwd()),然后打包测试,真相大白,原来在搜索中打开exe,当前目录是C:\Windows\sy ...

哦哦,我去试了,确实这个问题出现在这里,非常感谢!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 20:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表