小编Fuj*_*lan的帖子

使用 boto3 列出 s3 中启用版本的存储桶

如何列出打开版本控制标志的所有 s3 存储桶名称?

我有 100 个 s3 存储桶。某些存储桶已打开版本控制标志。我想使用 boto3 列出所有这些存储桶名称。

我在下面给出了我的 python 代码片段。

import boto3
REGION = "us-east-1"

s3client = boto3.client('s3',region_name=REGION)
for bucket in s3client.list_buckets()['Buckets']:
  bucket = bucket['Name']
  response = s3client.get_bucket_versioning(Bucket=bucket)
  if 'Status' in response and response['Status'] == 'Enabled':
    print(bucket)
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 amazon-web-services boto3 s3-bucket

3
推荐指数
1
解决办法
2172
查看次数

Python hashlib Checksum与linux md5sum不同

我试图使用python的hashlib模块计算字符串"test"的校验和.我正在使用python3.

In [31]: hobj = hashlib.new('md5')
In [32]: hobj.update('test'.encode("UTF-8"))
In [33]: hobj.hexdigest()
Out[33]: '098f6bcd4621d373cade4e832627b4f6'
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用linux md5sum时,校验和与hashlib的输出完全不同.

$ echo 'test' | md5sum 
d8e8fca2dc0f896fd7cb4cb0031ba249  -
Run Code Online (Sandbox Code Playgroud)

我的python代码有什么问题吗?

python linux python-3.x

2
推荐指数
1
解决办法
396
查看次数

是否可以使用 pysftp 模块删除包含某些内容的目录?

我正在使用 pysftp 模块创建备份脚本。我可以上传和下载文件。当我尝试删除包含某些内容的目录时,出现异常。

这是我试过的

con = pysftp.Connection('192.168.0.40',username='root',password='clado123')
con.chdir('/root/backup')
con.pwd
con.listdir()
['data', 'test']
data - directory is not empty.
test - directory is empty.
con.rmdir('test')
con.listdir()
['data']
con.rmdir('data')
Run Code Online (Sandbox Code Playgroud)

OSError:失败

任何人都可以建议我解决这个问题的方法吗?

python sftp python-2.7 python-3.x pysftp

1
推荐指数
1
解决办法
3792
查看次数

编写列表解析以展平嵌套列表

我有一个嵌套列表与列表和数字混合.

nested = [[1, 2, 3], [4, 5, 6], [7, 8], [9], 10, 11]
Run Code Online (Sandbox Code Playgroud)

嵌套列表只包含数字,它们永远不会包含更多列表.

是否可以编写列表推导来从'嵌套'列表中创建新列表,产生以下输出?

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
Run Code Online (Sandbox Code Playgroud)

这是我的尝试(代码不起作用)

[num if isinstance(item, list) for num in item else item for item in nested]
Run Code Online (Sandbox Code Playgroud)

python list-comprehension list python-3.x

1
推荐指数
1
解决办法
742
查看次数

如何从元组列表中删除连续的重复元组?

我有一个名为lt的元组列表.

lt = [ (1,2) , (1,2) , (2,3) , (3,4) , (5,6) , (7,8) , (7,8) ] 
Run Code Online (Sandbox Code Playgroud)

我想从列表中删除所有连续的重复元组.结果应该是这样的.

mainList = [(1, 2), (2, 3), (3, 4), (5, 6), (7, 8)]
Run Code Online (Sandbox Code Playgroud)

python tuples list python-3.x

0
推荐指数
1
解决办法
100
查看次数