我认为使用 tmpnam 设定输出的文件名 QPrinter.但是蟒蛇文件建议对使用它。

操作系统。tmpnam()

返回的独特道路的名称,是合理的,用于创建一个临时的 文件。...应用程序是负责任的 正确的创建和管理 文件的创建使用的路径返回的 tmpnam();没有自动清理 提供。

警告

使用的tmpnam()是脆弱的链接攻击;考虑使用 tmpfile()(部分文件的目的 创建)。

Windows:微软的 执行情况 tmpnam() 总是 创建一个名称在根目录 目前的驱动,这是 通常一个贫穷的位置一个临时的 文件(根据不同权限,就可以 甚至不能够打开一个文件使用 这名)。

  • 这真是不安全如果我的应用程序不需要任何特殊的特权?
  • 什么是安全的替代品的考虑,我只能设置的路径作为输出的文件名 QPrinter?
有帮助吗?

解决方案

请阅读 http://docs.python.org/library/tempfile.html

使用,而不是。

其他提示

根据QPrinter的交易与一个文件,该文件已经存在,可以使用QTemporaryFile创建一个文件,然后关闭文件,并保持参考QTemporaryFile对象,直到你完成了它。(这也将清理的文件,当你摧毁的对象。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top