如何使用python中的scp通过os.system获取最新文件?
我想使用pythonos.system库从远程UNIX目录获取/scp最新文件夹,该目录是一个名称包括日期时间的文件夹系统,例如:如何使用python中的scp通过os.system获取最新文件?,python,scp,os.system,Python,Scp,Os.system,我想使用pythonos.system库从远程UNIX目录获取/scp最新文件夹,该目录是一个名称包括日期时间的文件夹系统,例如: [usr1@server1 stats_from_dir]$ pwd /tmp/dir1/stats_from_dir [usr1@server1 stats_from_dir]$ ls -alrth drwxr-x--- 2 23K Aug 28 12:50 pmexport_20200825 drwxr-x--- 2 23K Aug 28 12:50
[usr1@server1 stats_from_dir]$ pwd
/tmp/dir1/stats_from_dir
[usr1@server1 stats_from_dir]$ ls -alrth
drwxr-x--- 2 23K Aug 28 12:50 pmexport_20200825
drwxr-x--- 2 23K Aug 28 12:50 pmexport_20200826
drwxr-x--- 2 21K Aug 28 12:50 pmexport_20200827
我可以得到所有这样的文件夹
import os
get_files = 'scp -r usr1@10.1.1.39:/tmp/dir1/stats_from_dir/* /dir2/.'
os.system(get_files)
但是我怎样才能只得到最新的文件夹呢?有没有办法在os.system库中使用参数而不使用其他库(如paramiko、subprocess..等)来执行此操作?您知道文件夹的实际日期吗 假设最后一个文件夹是昨天 然后使用datetime.date编译昨天的日期,并使用datetime.timedelta减去一天 然后用strftime以你所需要的强大格式打开昨天 最后,将那天附加到您使用os.system的字符串中
import os
import datetime
yesterday = datetime.date.today() - datetime.timedelta(days=1)
yesterday_string = yesterday.strftime('%Y%m%d')
get_files = 'scp -r usr1@10.1.1.39:/tmp/dir1/stats_from_dir/pmexport_{} /dir2/.'.format(yesterday_string)
os.system(get_files)
你知道文件夹的实际日期吗 假设最后一个文件夹是昨天 然后使用datetime.date编译昨天的日期,并使用datetime.timedelta减去一天 然后用strftime以你所需要的强大格式打开昨天 最后,将那天附加到您使用os.system的字符串中
import os
import datetime
yesterday = datetime.date.today() - datetime.timedelta(days=1)
yesterday_string = yesterday.strftime('%Y%m%d')
get_files = 'scp -r usr1@10.1.1.39:/tmp/dir1/stats_from_dir/pmexport_{} /dir2/.'.format(yesterday_string)
os.system(get_files)
试试这个:
import os
get_files = "scp -r usr1@10.1.1.39:/tmp/dir1/stats_from_dir/$(ssh usr1@10.1.1.39 'ls -t /tmp/dir1/stats_from_dir/ | head -1') /dir2/."
os.system(get_files)
试试这个:
import os
get_files = "scp -r usr1@10.1.1.39:/tmp/dir1/stats_from_dir/$(ssh usr1@10.1.1.39 'ls -t /tmp/dir1/stats_from_dir/ | head -1') /dir2/."
os.system(get_files)
为什么要用
os.system()
而不是像paramiko这样的库来执行此操作?任何其他库的安装都是有限的。为什么要用os.system()
而不是像paramiko这样的库来执行此操作?任何其他库的安装都是有限的。。