鱼C论坛

 找回密码
 立即注册
查看: 1822|回复: 3

[已解决]一个写XML格式文件的问题

[复制链接]
发表于 2020-2-8 10:54:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import sys
  2. import os
  3. from datetime import datetime
  4. newpath = r'd:\test'
  5. if not os.path.exists(newpath):
  6.     os.makedirs(newpath)

  7. class BuildNewXML():
  8.     def __init__(self,filename=None):
  9.         self.filename = filename
  10.         self.__get_f = None
  11.     def openfile(self):
  12.         if self.filename ==None:
  13.             print('没有提供文件名!')
  14.             return False
  15.         try:
  16.             self.__get_f = open(self.filename,'a',encoding='utf-8')
  17.         except:
  18.             print('打开%s文件有问题'%(self.filename))
  19.             return False
  20.     def writeXML(self,n,element):
  21.         try:
  22.             if n == 0:
  23.                 self.__get_f.write(element+'\n')
  24.             else:
  25.                 self.__get_f.write(' '*n+element+'\n')
  26.         except:
  27.             print('写%文件写%s出错'%(self.filename,element))
  28.     def closeXML(self):
  29.         if self.__get_f:
  30.             self.__get_f.close()

  31. #==================================
  32. filename = 'storehouse.xml'
  33. flag = False
  34. nowd = datetime.now().ctime()
  35. content = {1:[0,'<1>'],
  36.             2:[0,'</1>']}

  37. buile_xml = BuildNewXML(filename)

  38. try:
  39.     build_xml.openfile()
  40.     for get_item in content.items():
  41.         buile_xml.writeXML(get_item[1][0],get_item[1][1])
  42.     flag = True
  43. except:
  44.     print('写内容出错')
  45.     sys.exit()
  46. finally:
  47.     if flag:
  48.         buile_xml.closeXML()
  49.         print('写入完成')
复制代码


第十章问题.png

求大佬看看什么问题
最佳答案
2020-2-8 11:10:06
本帖最后由 一个账号 于 2020-2-8 11:13 编辑

不要再这里面运行,在 IDLE 里面运行。
或者把代码改成这样试试:
  1. import sys
  2. import os
  3. from datetime import datetime
  4. newpath = r'd:\test'
  5. if not os.path.exists(newpath):
  6.     os.makedirs(newpath)

  7. class BuildNewXML():
  8.     def __init__(self,filename=None):
  9.         self.filename = filename
  10.         self.__get_f = None
  11.     def openfile(self):
  12.         if self.filename ==None:
  13.             print('没有提供文件名!')
  14.             return False
  15.         try:
  16.             self.__get_f = open(self.filename,'a',encoding='utf-8')
  17.         except:
  18.             print('打开%s文件有问题'%(self.filename))
  19.             return False
  20.     def writeXML(self,n,element):
  21.         try:
  22.             if n == 0:
  23.                 self.__get_f.write(element+'\n')
  24.             else:
  25.                 self.__get_f.write(' '*n+element+'\n')
  26.         except:
  27.             print('写%文件写%s出错'%(self.filename,element))
  28.     def closeXML(self):
  29.         if self.__get_f:
  30.             self.__get_f.close()

  31. #==================================
  32. filename = 'storehouse.xml'
  33. flag = False
  34. nowd = datetime.now().ctime()
  35. content = {1:[0,'<1>'],
  36.             2:[0,'</1>']}

  37. buile_xml = BuildNewXML(filename)

  38. try:
  39.     build_xml.openfile()
  40.     for get_item in content.items():
  41.         buile_xml.writeXML(get_item[1][0],get_item[1][1])
  42.     flag = True
  43. except:
  44.     print('写内容出错')
  45.     try:
  46.         sys.exit()
  47.     except:
  48.         pass
  49. finally:
  50.     if flag:
  51.         buile_xml.closeXML()
  52.         print('写入完成')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-8 11:10:06 | 显示全部楼层    本楼为最佳答案   
本帖最后由 一个账号 于 2020-2-8 11:13 编辑

不要再这里面运行,在 IDLE 里面运行。
或者把代码改成这样试试:
  1. import sys
  2. import os
  3. from datetime import datetime
  4. newpath = r'd:\test'
  5. if not os.path.exists(newpath):
  6.     os.makedirs(newpath)

  7. class BuildNewXML():
  8.     def __init__(self,filename=None):
  9.         self.filename = filename
  10.         self.__get_f = None
  11.     def openfile(self):
  12.         if self.filename ==None:
  13.             print('没有提供文件名!')
  14.             return False
  15.         try:
  16.             self.__get_f = open(self.filename,'a',encoding='utf-8')
  17.         except:
  18.             print('打开%s文件有问题'%(self.filename))
  19.             return False
  20.     def writeXML(self,n,element):
  21.         try:
  22.             if n == 0:
  23.                 self.__get_f.write(element+'\n')
  24.             else:
  25.                 self.__get_f.write(' '*n+element+'\n')
  26.         except:
  27.             print('写%文件写%s出错'%(self.filename,element))
  28.     def closeXML(self):
  29.         if self.__get_f:
  30.             self.__get_f.close()

  31. #==================================
  32. filename = 'storehouse.xml'
  33. flag = False
  34. nowd = datetime.now().ctime()
  35. content = {1:[0,'<1>'],
  36.             2:[0,'</1>']}

  37. buile_xml = BuildNewXML(filename)

  38. try:
  39.     build_xml.openfile()
  40.     for get_item in content.items():
  41.         buile_xml.writeXML(get_item[1][0],get_item[1][1])
  42.     flag = True
  43. except:
  44.     print('写内容出错')
  45.     try:
  46.         sys.exit()
  47.     except:
  48.         pass
  49. finally:
  50.     if flag:
  51.         buile_xml.closeXML()
  52.         print('写入完成')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 11:15:26 | 显示全部楼层
一个账号 发表于 2020-2-8 11:10
不要再这里面运行,在 IDLE 里面运行。
或者把代码改成这样试试:

提示'写内容出错'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 11:29:10 | 显示全部楼层
找到答案了,是把d打成e了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-3 21:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表