【问题标题】:Locating and reading all .py files定位和读取所有 .py 文件
【发布时间】:2021-07-31 00:32:42
【问题描述】:

当我在 vs 中启​​动程序时,一切正常,但是当我在 cmd 上使用 python 启动它时,没有输出

import glob
Liste = ""
progs = glob.glob("*/*.py")
for Prog in progs:
    fh = open(Prog, "r")
    pCode = fh.readlines()
    fh.close()
    for line in pCode:
        Liste +=(line)

所以当我想打印变量时:“Liste”有(当我在 vs 开始时)所有代码但是当我在 cmd 中开始时它的空白,请帮助

【问题讨论】:

  • 为什么要有输出?
  • 如果这不是为了更大的目的,请考虑cat */*.py

标签: python file cmd operating-system


【解决方案1】:

我假设您不会从 Visual Studio 中的同一目录调用脚本,而不是在控制台中调用脚本...

glob.glob("*/*.py") 创建一个字符串列表,其中包含当前工作目录的任何子目录中 Python 文件的相对路径。

因此,如果您使用不同的工作目录调用脚本将返回不同的结果。

另见:

【讨论】:

    【解决方案2】:

    这是因为之后您实际上并没有对 Liste 做任何事情。如果您在最后打印它,您将看到一个输出。

    import glob
    Liste = ""
    progs = glob.glob("*/*.py")
    for Prog in progs:
        fh = open(Prog, "r")
        pCode = fh.readlines()
        fh.close()
        for line in pCode:
            Liste +=(line)
    print(Liste) 

    此外,这将使其更具可读性。

    import glob
    
    liste = ""
    progs = glob.glob("*/*.py")
    for prog in progs:
        with open(prog, "r") as fh:
            p_code = fh.readlines()
        for line in p_code:
            liste +=(line)
    print(liste)
    

    【讨论】:

      猜你喜欢
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多