在Python | PHP中阅读文件的内容

时间:2016-03-13 00:24:00

标签: php python

我有100多个omnigraffle的保存文件,需要编写一个脚本来阅读然后更改其内容。

示例一:
https://www.dropbox.com/s/97cec5err3qubgq/test.graffle?dl=0

我可以通过TextMate打开它,文件的内容是xml格式

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ActiveLayerIndex</key>
    <integer>0</integer>
    <key>ApplicationVersion</key>
    <array>
        <string>com.omnigroup.OmniGraffle6</string>
        <string>163.7.0.243167</string>
    </array>
    <key>AutoAdjust</key>
    <true/>
    <key>BackgroundGraphic</key>
    <dict>...

所以我编写代码来用Python读取和写入该文件

contents = open(filename).read()
print contents

结果是

?]Ys?8~N~?֯IxgO?Gbg}?%?;)Wm?$sB
4???=?z?;F.??l??h?O????q??ش7~?z???ݓ???{??s#?8=?><?il4??Nx?????6N??o???;?hl?0?o????[XP???VF?Ӑ$d????&?????&i=????????o6??ǭN??w???????Ͷ?+/t}FF$?????
?yװ5???aWT??pT?ۥ??v??r???O??Û?u٣GR?)?I!o?~MK??|7??)[)c?'2;|@g#1?J/?!??Jo?X;ؿ??I??t%L?2Jy&?]?;)ЧC^?D????ܑ_`
????{?l?????h????]?7.?y?]7      ?&?

那么我们如何在Python / PHP中读取该文件?

1 个答案:

答案 0 :(得分:4)

您提供的链接中的文件将使用gzip进行压缩,无论是在存储时,还是在下载以保存空间时通过dropbox进行压缩。

在使用之前在文件上运行gunzip命令,或使用python gzip模块:

import gzip
with gzip.open(filename) as f:
    contents = f.read()