Windows 通过stdin将文件列表从PowerShell传递到Python脚本
我想创建一个Python脚本,我可以将文件名导入其中,因此它可以像这样使用:Windows 通过stdin将文件列表从PowerShell传递到Python脚本,windows,powershell,python-3.x,Windows,Powershell,Python 3.x,我想创建一个Python脚本,我可以将文件名导入其中,因此它可以像这样使用: ls *.csv | python .\myscript.py 我知道我可以使用fileinput或sys.stdin读取标准输入,但由于输出是在格式化表格中: Directory: C:\path\to\csv Mode LastWriteTime Length Name ---- ------------- -
ls *.csv | python .\myscript.py
我知道我可以使用fileinput
或sys.stdin
读取标准输入,但由于输出是在格式化表格中:
Directory: C:\path\to\csv
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 15.02.2016 10:18 4755 data_1.csv
-a---- 15.02.2016 10:18 522 data_2.csv
我必须解析它
因为这似乎是一种常见的模式,我希望有一个标准的解决方案。如果可以的话,我想避免写我自己的,但我一直找不到
(如果这很重要,我将在Windows 10上的PowerShell中运行它。)
Edit:我想问的是,对于将文件路径管道化到脚本的特定(而且似乎很常见)场景,我是否缺少一些库或模式。如果没有必要,我希望避免编写解析代码。基于谷歌搜索和您的评论,似乎最好在将其传递到实际Python脚本之前进行过滤。那我就坚持这一点。可能重复的问题我认为这是对那个问题的重复。我想问的是,对于这个特定(而且似乎很常见)的场景,我是否缺少一些库或模式。您可能想找到一种只获取文件名的方法:从PowerShell解决这个问题,而不是从Python中,在Python中每行都会获得一个文件。是否“ls*.csv | fl”只显示每个文件名而不显示元数据?我附近没有Windows系统可以尝试此操作。您想将什么传递给Python?只需文件名:
ls*.csv |%FullName | python。\myscript.py
?