【发布时间】:2016-02-18 13:34:18
【问题描述】:
我想创建一个 Python 脚本,我可以将文件名通过管道输入,所以它可以像这样使用:
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 中运行它。)
编辑:我在问我是否缺少一些库或模式,因为这种将文件路径管道传输到脚本的特定(并且看似很常见)的场景。如果没有必要,我想避免编写解析代码。
【问题讨论】:
-
我反对这是该问题的重复。对于这种特定(并且看似很常见)的场景,我问是否缺少一些库或模式。
-
您可能想找到一种仅获取文件名的方法:从 PowerShell 解决这个问题,而不是从 Python 中获取每行文件。
-
“ls *.csv | fl”是否只显示每个文件名而不显示元数据?我附近没有 Windows 系统可以试试这个。
-
你想向 Python 传递什么?只是文件名:
ls *.csv | % FullName | python .\myscript.py?
标签: windows powershell python-3.x