1

我正在编写一个跟踪工资单信息的程序。通过终端从源代码运行它并正确保存文件时,它运行良好。为了将它分发给我的客户,我使用 PyInstaller 编译代码以创建 1 文件 .exe 以在 Windows 7 上分发,然后使用 Advanced Installer 11.4.1 创建一个 .msi 文件以供他们安装在他们的平台上。

我的问题是在安装 .msi 后运行应用程序时。在包中,我分发了一个 .txt 文件,其中包含要加载和保存的数据。

尝试更新我分发的文件时,发生以下错误:

IOError:[Errno 13] 权限被拒绝:'testSave.txt'

我用来尝试保存文件的代码是:

saving = open(file_name, 'w')
saving.write(data)

有没有办法告诉 Python 2.7 无论权限如何都可以编写,或者在安装时让这个特定文件具有基本用户权限?

谢谢。

4

2 回答 2

1

我修改了我的程序以使用系统环境写入不同的位置,并告诉高级安装程序将 .txt 安装在本地应用程序数据目录中。这使我能够以“rw”权限打开文件。

path = os.environ.get('LOCALAPPDATA')
path = path.split('\\')
real_path = ''
print path
for dir in path:
    real_path += dir + '/'
print real_path
real_path = os.path.normpath(real_path + 'PayTrakker/testSave.txt')
于 2014-09-02T07:46:55.733 回答
0

使用高级安装程序,您可以设置权限,但您需要许可版本,即专业版或更高版本。

您还可以在试用期内构建专业项目,以测试权限支持并查看它是否适合您。

于 2014-08-25T12:54:07.540 回答