python - Dropbox 中的文件夹名称

标签 python dropbox

我在命名 Dropbox 文件夹和文件时遇到一些问题

我想将 bash 脚本转换为 python,并且 bash 可以完美工作,但是 python 在其中创建文件夹 log,名称如“$(hostname)”和文件“log_$(date +%F-%H:%M) )_$(主机名).gz"

import requests
import logging
import os

log = logging.getLogger(__name__)


def test():
    os.system('mkdir - p /var/log/salt/$(hostname)')
    os.system('mv /var/log/salt/minion /var/log/salt/$(hostname)/log_$(date +%F-%H:%M)_$(hostname)')
    os.system('gzip --keep -f /var/log/salt/$(hostname)/log_$(date +%F-%H:%M)_$(hostname)')
    os.system('rm /var/log/salt/minion')
    return {"msg": "log made in Device")


headers = {
    'Authorization': 'Bearer TOKEN',
    'Dropbox-API-Arg': '{"path": "/logs/$(hostname)/log_$(date +%F-%H:%M)_$(hostname).gz"}',
    'Content-Type': 'application/octet-stream',
}

data = open('/var/log/salt/$(hostname)/log_$(date +%F-%H:%M)_$(hostname).gz', 'rb').read()
response = requests.post('https://content.dropboxapi.com/2/files/upload', headers=headers, data=data)
return {"msg": "Copied to Dropbox!"}

最佳答案

import requests
 import os
 import datetime
 import socket
 import logging

log = logging.getLogger(__name__)

def test():
    time = datetime.datetime.now().strftime("%Y-%m-%d-%H:%M")
    hostname = socket.gethostname()
    dropboxpath = '/logs/{}/log_{}_{}.gz'.format(hostname, time, hostname)
    filenamelog = '/var/log/salt/{}/log_{}_{}'.format(hostname, time, hostname)
    gzipfilenamelog = filenamelog+'.gz'
    os.system('mkdir - p /var/log/salt/{}'.format(hostname))
    os.system('mv /var/log/salt/minion {}'.format(filenamelog))
    os.system('gzip --keep -f {} > {}'.format(filenamelog, gzipfilenamelog))
    os.system('rm /var/log/salt/minion')
    headers = {
        'Authorization': 'Bearer TOKEN',
        'Dropbox-API-Arg': '{"path":"' + dropboxpath + '"}',
        'Content-Type': 'application/octet-stream'
    }
    data = open(gzipfilenamelog, 'rb').read()
    response = requests.post('https://content.dropboxapi.com/2/files/upload', headers=headers, data=data, timeout=90)
    return {"msg": "Copied to Dropbox!"}

关于python - Dropbox 中的文件夹名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56985294/

相关文章:

Android Dropbox 客户端因 v1 退役而失败

javascript - 如何使用 Dropbox Core API 获取修订后的文本文件的内容详细信息?

dropbox - 当 Dropbox 不支持 Webhooks 时,Zapier 如何支持 Dropbox?

python - 如何在一个 DataFrame 中组合字符串

Python2 : arguments after *argv

python - GPU 上的 PyTorch Slow Batch 矩阵乘法

python - Pytest - 重用为不同用户提供不同输出的固定装置

python - 通过标识而不是相等从 python 列表中删除元素

javascript - 来自 Dropbox 的 Mp4 与 HTML5 视频播放器一起使用,不重复

iphone - 使用 Dropbox 是否需要加密披露