Python从目录Error获取所有文件

rkb*_*om9 0 python file

我有一个包含22个.sgm格式文件的文件夹.我想读取所有文件.我将传递的命令行参数的输入将如下所示

/usr/local/pub/tmh/Reuters/*.sgm

所以这应该读取文件夹中的所有sgm格式文件.

我编写的使用python 3.4.2的代码是

allfiles=(glob.glob(sys.argv[1]))
print(allfiles)
Run Code Online (Sandbox Code Playgroud)

现在我得到的是1个文件 /usr/local/pub/tmh/Reuters/reut2-000.sgm.其余的没有被glob选中.此外,我试图打印应打印此参数,/usr/local/pub/tmh/Reuters/*.sgm但它打印/usr/local/pub/tmh/Reuters/reut2-000.sgm(这是文件夹中的第一个文件)

Mar*_*ers 5

你的shell正在为你扩展glob,所以你真的将所有文件作为单独的参数传递给你的脚本,然后只看第一个.

所以不是传入/usr/local/pub/tmh/Reuters/*.sgm你的脚本,而是传入shell /usr/local/pub/tmh/Reuters/reut2-000.sgm /usr/local/pub/tmh/Reuters/reut2-001.sgm /usr/local/pub/tmh/Reuters/reut2-002.sgm等.

无论是引用的水珠或参数,或者刚刚进行读取的所有文件sys.argv[1:].

引用论点:

python yourscript.py "/usr/local/pub/tmh/Reuters/*.sgm"
Run Code Online (Sandbox Code Playgroud)

或者将glob扩展留给shell:

allfiles = sys.argv[1:]
print(allfiles)
Run Code Online (Sandbox Code Playgroud)