gpt4 book ai didi

python - 在 glob 中扩展星号

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:53 25 4
gpt4 key购买 nike

我希望能够在 linux 中打印目录中所有文件的列表,但我的代码只打印出目录中的第一项

主目录内有text1.txt、text2.txt、text3.txt

sys.argv[1] 应该是/home/* 当我在命令行上运行它时:

python fileName.py /home/*

脚本:

def list_file():
listFile= glob.glob(sys.argv[1])
return listFile

print list_file()

输出的只是目录中的第一个文件

 ['text1.txt']

有什么想法吗?该代码在 Windows 上运行良好,但当我将其移至 Linux 时,它不再运行了

谢谢

最佳答案

你调用脚本的方式,* 被 Bash 本身扩展,所以说

python fileName.py /home/*

这被扩展成

python fileName.py /home/file1 /home/file2 /home/file3

所以 sys.argv[1] 就是 /home/file1

要使其工作,请在 Python 脚本中添加 *:

import sys
import glob

def list_file():
return glob.glob(sys.argv[1] + '*')

print list_file()

然后像 python fileName.py/home/ 一样运行。

关于python - 在 glob 中扩展星号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31755968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com