【问题标题】:Python - How can i get decimal value from text file namePython - 如何从文本文件名中获取十进制值
【发布时间】:2013-10-02 03:42:56
【问题描述】:

你好,我有这个方法。 如何从我的文件名中获取 3.34 和 9.1 的值???似乎无法提取十进制值。请帮忙!提前致谢。 例如,我的 FileName 被调用。 123 3.34 9.1 知识产权

从桌面 FILENAME 提取的文件:123 3.34 9.1 IP

def extractFilename(FileName):
    Text = string.split(FileName, " ")
    Name = stripText[0]
    Thickness = stripText[1]
    SurfaceArea = stripText[2]
    Type = stripText[len(stripText)-1]
    return (Name,Thickness,SurfaceArea, Type)
    pass

【问题讨论】:

  • 什么是FileNameOnlystripText?为什么将pass 放在return 语句之后?你还运行过这段代码吗?
  • 是的,我确实运行了该程序,它运行良好。只是它不会包含小数点
  • 为什么要使用 string.split()? FileName.split(...) 是你想要的。
  • anw 我必须在 split(...) 中输入什么参数
  • 还是不行。不能接受小数

标签: python file extract


【解决方案1】:

你可以这样做:

    import math
    def is_number(s):
       try:
           float(s)
           return True
       except ValueError:
           return False
    filename = "123 3.34 9.91 p"
    val = filename.split(" ")
    for items in val:
       if is_number(items):
           if float(items) != math.floor(float(items)):
               print items

工作:- 首先它拆分电影名。在遍历每个元素后,它会检查该项目是否为字符串。如果不是字符串,则检查整数部分是否等于数字。如果它等于一个整数,否则它是一个浮点数。

【讨论】:

  • 代码在我的系统上运行良好。您能指出确切的错误所在的行,以及那里的错误吗?
猜你喜欢
  • 1970-01-01
  • 2015-05-04
  • 2021-01-03
  • 2020-08-27
  • 1970-01-01
  • 1970-01-01
  • 2014-02-25
  • 2020-05-27
  • 2013-08-23
相关资源
最近更新 更多