免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 19498 | 回复: 31
打印 上一主题 下一主题

每周一题——读写配置文件。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-20 16:56 |只看该作者 |倒序浏览
群里面的朋友提到是否应该出点题目给新加入python的朋友。我想值得一试。

本周题目如下:
读写配置文件是经常碰到操作,请大家写出自己读写配置文件的程序,要求:
1、配置文件可以以#作为注释,并不处理。
2、所写的程序应以import导入使用。
3、有自测试代码。
4、有注释。

希望大家踊跃参加。

论坛徽章:
0
2 [报告]
发表于 2005-08-23 11:37 |只看该作者

每周一题——读写配置文件。

原帖由 "xichen" 发表:
群里面的朋友提到是否应该出点题目给新加入python的朋友。我想值得一试。

本周题目如下:
读写配置文件是经常碰到操作,请大家写出自己读写配置文件的程序,要求:
1、配置文件可以以#作为注释,并不处理。
2?.........


创意很好 支持!希望能够坚持下来。

题目出的是不是有点泛,能否更细化一些,例如给出一个特定的配置文件。
这样大家便于交流比较。

纯属个人意见,仅供参考。

论坛徽章:
0
3 [报告]
发表于 2005-08-23 16:57 |只看该作者

每周一题——读写配置文件。

版主的意思是希望有自定的格式,没必要千篇一律,当然如果你不知道使用什么好完全可以考虑标准的格式,如:ini,xml都可以。

论坛徽章:
0
4 [报告]
发表于 2005-08-23 19:58 |只看该作者

每周一题——读写配置文件。

好象关注的人多,但是真正动手写的人少.一方面新手老说没有项目可以联系,一方面却不愿意花精神和时间来些,真让人郁闷.
可能被老师教惯了吧.总想google到最直接的答案.

论坛徽章:
0
5 [报告]
发表于 2005-08-23 20:16 |只看该作者

每周一题——读写配置文件。

呵呵。求人不如求已呀。

论坛徽章:
0
6 [报告]
发表于 2005-08-23 21:07 |只看该作者

每周一题——读写配置文件。

原帖由 "xichen" 发表:
好象关注的人多,但是真正动手写的人少.一方面新手老说没有项目可以联系,一方面却不愿意花精神和时间来些,真让人郁闷.
可能被老师教惯了吧.总想google到最直接的答案.


能想到用google就不错了,更直接的是朝人要,呵呵

论坛徽章:
0
7 [报告]
发表于 2005-08-24 13:54 |只看该作者

每周一题——读写配置文件。

[quote]原帖由 "limodou"]版主的意思是希望有自定的格式,没必要千篇一律,当然如果你不知道使用什么好完全可以考虑标准的格式,如:ini,xml都可以。[/quote 发表:



还真不知道什么是标准的格式,要不劳驾你给一个标准格式的配置文件吧
不必千篇一律 这个我自己用  

论坛徽章:
0
8 [报告]
发表于 2005-08-24 15:11 |只看该作者

每周一题——读写配置文件。

爱学习的新手来了

俺是彻底的新手。如果写的有问题,不要笑

  1. #! /usr/bin/python

  2. import os
  3. import sys

  4. class property:
  5.         """ Assume that property file is "ARG=VALUE" format and no space is allowed on either side of \"=\" """
  6.         def __init__(self, pfile):
  7.                 f = open(pfile, "r")
  8.                 linel = f.readlines()
  9.                 list = map(self.split, linel)
  10.                 #remove comments marker
  11.                 if list.count(None) >; 0:
  12.                         list.remove(None)
  13.                 self.dict = dict(tuple(list))

  14.         def split(self, str):
  15.                 # remove newline
  16.                 str = str.strip("\n")
  17.                 # remove blank spaces
  18.                 str = str.strip()
  19.                 # Treat comments separately
  20.                 if str.startswith("#"):
  21.                         r = None
  22.                 else:
  23.                         # At most 2 parts
  24.                         r = str.split("=", 1)
  25.                         r = map(self.stripbs, r)
  26.                 return r

  27.         def stripbs(self, str):
  28.                 return str.strip()

  29.         def getdict(self):
  30.                 return self.dict


  31. if __name__ == "__main__":
  32.         print "Self Test Begin"
  33.         # Generate the test file
  34.         if len(sys.argv) == 1:
  35.                 os.system("echo \"# Comment\" >; test.properties")
  36.                 os.system("echo \"LOCK=true\" >;>; test.properties")
  37.                 os.system("echo \"TEST.config.1=234\" >;>; test.properties")
  38.                 pf = property("test.properties");
  39.         else:
  40.                 pf = property(sys.argv[1])
  41.         print pf.getdict();
复制代码

论坛徽章:
0
9 [报告]
发表于 2005-08-24 15:13 |只看该作者

每周一题——读写配置文件。

下周一我贴出我写的。

论坛徽章:
0
10 [报告]
发表于 2005-08-24 15:15 |只看该作者

每周一题——读写配置文件。

好啊。等着看xichen老大的。呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP