7.py 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #coding:UTF-8
  2. a = 1<<10
  3. b = bin(a)
  4. print(int(b[2:],2)>>10)
  5. c = a | (1<<2)
  6. print(b)
  7. print(a)
  8. a = "1234"
  9. print("-",a[3:])
  10. import math
  11. print(2**32)
  12. print(math.pow(2,32))
  13. print(hex(ord('g')))
  14. def get_s16(val):
  15. if val < 0x80000000:
  16. return val
  17. else:
  18. return (val - 0x100000000)
  19. print(hex(336860180))
  20. print(0xf0551700)
  21. print(0xe8c81900)
  22. print([int(math.floor(abs(math.sin(i + 1)) * (2 ** 32))) for i in range(64)])
  23. import re
  24. _pattern = "(?P<projectDigest>项目概况.{10,1000})"
  25. # _pattern = "(建筑面积[约为是]*[\d,]+(\.\d+)?[十百千万]*(㎡|平方米))"
  26. text = '''
  27. 项目名称:淮上区2020年市政道路维修及绿化养护施工工程监理
  28. '''
  29. text = text.replace("\r","").replace("\n",'')
  30. def extract_proportion(content):
  31. _pattern = "(?P<proportion>((建筑|建设|区域)?面积|全长|项目规模)[大概约为是::【\[\s]*[\d,]+(\.\d+)?[十百千万]*([\]】平方kK千万公㎡mM米里]*))"
  32. _pattern_search = re.search(_pattern,content)
  33. _proportion = ""
  34. if _pattern_search is not None:
  35. _proportion = _pattern_search.groupdict().get("proportion","")
  36. return _proportion
  37. def extract_projectDigest(content):
  38. _pattern = "(?P<projectDigest>(项目|工程|标的|需求|建设|招标|采购|内容)(概况|规模|简介|信息|范围|内容|说明|摘要).{10,300})"
  39. _pattern_search = re.search(_pattern,content)
  40. _projectDigest = ""
  41. _find = ""
  42. if _pattern_search is not None:
  43. _find = _pattern_search.groupdict().get("projectDigest","")
  44. if len(_find)>0:
  45. _projectDigest = "。".join(_find.split("。")[0:3])
  46. return _projectDigest
  47. print(extract_proportion(text))
  48. print(re.findall(_pattern,text))
  49. print(extract_projectDigest(text))
  50. import uuid
  51. print(uuid.uuid4())
  52. def extract_legal_stage(content,_pattern):
  53. dict_stage = {"设计阶段":"设计",
  54. "环评阶段":"环评",
  55. "施工准备":"监理",
  56. "施工在建":"施工"}
  57. list_stage_v = []
  58. for k,v in dict_stage.items():
  59. list_stage_v.append("(?P<%s>%s)"%(k,v))
  60. stage_pattern = "|".join(list_stage_v)
  61. list_stage = []
  62. for stage_search in re.finditer(stage_pattern,content):
  63. for k,v in stage_search.groupdict().items():
  64. if v is not None:
  65. list_stage.append(k)
  66. if len(list_stage)>0:
  67. return list_stage[-1]
  68. return None
  69. print(extract_legal_stage(text,"工程"))