python - 从 python 中的 rsync 列表命令中删除文件权限、创建日期?

标签 python

我正在 Django/Python 中使用 rsync --list-only 命令:

subprocess.Popen(['rsync', '--list-only', source],
                           stdout=subprocess.PIPE, 
                           env={'RSYNC_PASSWORD': password}).communicate()[0]

它返回的结果是这样的:

drwxrwxrwx 4096 2012/11/07 09:56:23 upload

我不需要所有文件信息。我只想像这样显示文件名:

upload

我怎样才能做到这一点?谢谢

最佳答案

rsync 没有选项来缩写输出,您需要使用正则表达式(或 split())

import re
retval = subprocess.Popen(['rsync', '--list-only', source],
                           stdout=subprocess.PIPE, 
                           env={'RSYNC_PASSWORD': password}).communicate()[0]
retval = re.sub('^.+?\d+:\d+:\d+\s+(\S+.+)', '\g<1>', retval)

或者(只要文件名没有空格)...

retval = subprocess.Popen(['rsync', '--list-only', source],
                           stdout=subprocess.PIPE, 
                           env={'RSYNC_PASSWORD': password}).communicate()[0]
retval = retval.split(' ')[-1]

关于python - 从 python 中的 rsync 列表命令中删除文件权限、创建日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13451013/

相关文章:

python - 使用 OneHotEncoder 拆分调查数据

python - 当LSTM状态重置时

python - 如何使用 Python 将粗体样式应用于 Excel 文件中的特定单词?

python - 将 python 包添加到 uClinux

python - statsmodels.tsa.api.VAR 如何绘制结果

python - 散点图的 Y 轴始终从 0 开始

python - 为什么我的密码函数 (python) 出现错误?

python - 如何在Python中为Tensorflow创建CNN交叉过滤器?

python - SymPy 中表达式的抽象表示

python - imshow奇怪的cv2行为