使用lftp提取文件并迭代提取的文件

2024-09-24 00:30:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用lftp从FTP服务器提取一些.csv数据文件,命令如下:

lftp -e 'set ftp:use-mdtm false; set ftp:timezone Europe/Berlin; mirror --newer-than=now-1days --no-recursion --verbose -i "INERGIA.*\.csv" / /mnt/trailstone/itpf/DataInput; bye' -u [USERNAME],[PASSWORD] [SERVER-NAME]

这运行得很好。但是,在提取.csv文件之后,我想迭代每个文件,以便用python脚本修改文件中的一些数据。有没有一种方法可以通过lftp直接获取提取的文件,比如将它们分配给一个变量?在

此时此刻,我只做以下几点:

^{pr2}$

但我更喜欢直接通过lftp获取文件


Tags: 文件csv命令服务器falseuse数据文件ftp
2条回答

我假设您想这样做是因为find可能会在先前获取的cvs文件中意外地命中最后状态更改的文件。在

我不太熟悉lftp,但我可以想出一个解决办法: 让lftp将文件下载到一个临时位置,执行python操作,然后将修改后的文件移动到最终目的地。 或者提取下载的文件列表lftp的标准输出(通过awk和grep进行管道传输,或者任何最适合您的输出),用它填充一个变量,然后用它代替$(find*.csv-ctime-1)。在

不是真的,但你可以打开lftp的下载日志,它将跟踪所有下载的文件。然后解析日志中的文件名并在python脚本中使用它。在

xfer:log (boolean) when true, lftp logs transfers to a file from xfer:log-file setting.

xfer:log-file (path to file) the file to log transfers to. Default is ~/.local/share/lftp/transfer_log or ~/.lftp/transfer_log.

相关问题 更多 >