2013-07-29 80 views
1

我已经制作了一个可以打开文件的python程序,例如document.docx。如果该文件存在,一切都很好:我在Windows在Linux 创建给定扩展名的新空文件并从终端打开它

  • xdg-open document.docx命令

    • start document.docx打开它。

    Howewer,我现在想创建文档,如果不存在它,例如创建一个名为new.docx一个新的空文件,并在默认程序打开它。

    我的解决方案是存储我希望使用的每种类型的空文件(空docx,空odt,空png,...),并且如果用户请求的文件不存在存在时,程序将复制在用户输入后命名的空文件并将其打开。

    您是否认为它们可能是适用于Windows和Ubuntu的解决方案,它们不需要为每个使用的扩展存储空文件?

    编辑:我想有相同的行为,当你在Windows中创建的上下文菜单中的文件,你做什么,你可以选择很多不同类型的文档

    New File

    的(这是法国的,但你明白了)

  • +2

    当您执行new-> Word Document时,它只是创建一个名为New Microsoft Word Document.docx的文件,该文件中没有字节。 Word会优雅地打开这个文件,但是如果你编辑并保存它,它会写出所有通常疯狂的Word格式。 – Gray

    +0

    你认为打开没有字节的文件可以与其他扩展一起使用吗? – edi9999

    +0

    这完全取决于应用程序。这当然不适用于png。 Windows图片查看器只会显示“无法显示此文件,因为它是空的。”但是,无论如何,*是一个新的png?这对我来说似乎是正确的。 – Gray

    回答

    1

    你的原始解决方案(对所有需要的文件类型使用模板)似乎是做事的标准方式,因为这是Windows和Ubuntu(Nautilus)如何做的事情。

    Windows使用注册表和Windows \ ShellNew访问现有模板。 source

    [HKEY_CLASSES_ROOT\.docx\ShellNew] 
    "FileName"="New Microsoft Word Document.docx" 
    

    凭借与%windir%\ShellNew该名称的文件。

    与Ubuntu(Nautilus)一样,但是使用〜/ Templates /目录。 source

    所以看起来你最强大的解决方案就是坚持你最初的工作。

    相关问题