python - 如何在 python 程序中处理来自 Windows 的文件切换

标签 python windows pdf file-io

我想设置我的 python 程序来处理在我的系统上打开的所有 pdf,然后将处理后的 pdf 交给标准阅读器。

所以我将我的程序注册为 windows 作为 .pdf 文件的默认处理程序,windows 大概会在 pdf 文件上运行我的程序。

我如何在脚本中访问此文件。文件名是 sys.argvs 之一吗?

我没有让谷歌在这里为我工作。

最佳答案

所以,是的,Windows 将文件名作为 sys.argvs 之一传递到脚本中。它是(据我从打印值可以看出)一个没有路径的文件名,我用来打开文件,所以这告诉我 Windows 启动我的程序时将工作目录设置为文件的目录呼吁。

一个警告,一个陷阱,将我的 .py 注册为默认处理程序,但没有工作——单击该文件,导致 Windows 提示该文件不是有效的窗口可执行文件。我没有做任何研究,而是将我的 .py 转换为 .exe (py2exe) 并将 that 注册为默认的文件处理程序,它确实有效。

UPDATE,没有测试它但被告知用我的脚本指定 python 解释器作为默认文件处理程序将解决“无效”问题。像这样 "C:\Python2.7\python.exe yourscript.py %*"%* 是为了让脚本可以使用文件名。 (在没有测试的情况下添加这个,因为一方面我的问题已经解决,另一方面我被告知的对我来说很有意义)

关于python - 如何在 python 程序中处理来自 Windows 的文件切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926669/

相关文章:

java - 在 Java 中将 PDF 转换为 Word

Python 解释器模式 - 有哪些探索 Python 模块及其用法的方法

python - 使用 2 个不同的列删除其他数据框中存在的行

python - 如何诊断 "ImportError: cannot import name"

python - 阻止 pydoc 运行我的 Python 程序

python - 如何用python-poppler-qt4显示PDF?

python - 如何将可调用对象定义到另一个Python类中

c++ - 如何获取全局 Windows I/O 统计信息?

python - 从 Python (Windows) 运行 R 脚本时出现问题

C# MVC Rotativa ViewAsPdf System.Exception: QFont::setPixelSize: 像素大小 <= 0 (0)