我正在尝试移动/复制特定的扩展名文件(.xlsx)移动到我的s3桶。
我使用下面的命令。
cmd= 'aws s3 cp myfolder/*.xlsx s3://mybucket/myfolder --recursive'
where:
**myfolder** is my local system directory where the file is present
**s3://mybucket/myfolder** : folder location where i am placing all the .xlsx file in s3.
但是当我使用python
运行这个命令时os.system(cmd)
Getting Error : 255
谁能给我建议一些改变或其他方法来实现这个目标?注意:我已经用s3键配置了我的系统cmd,所有的命令也都工作得很好。
更新:
cmd = '$aws s3 cp myfolder/*.xlsx s3://mybucket/myfolder --recursive'
getting error:1 on interactive python.
不支持在命令的路径参数中使用UNIX风格的通配符。使用--exclude
和--include
过滤器
aws s3 cp myfolder s3://mybucket/myfolder/ --recursive --exclude "*" --include "*.xlsx"
参数的顺序很重要
请注意,运行帮助命令aws s3 help
会带来与下面链接相同的命令参考。来自AWS文档:
目前,不支持在命令的路径参数。但是,大多数命令都有
--exclude "<value>"
和--include "<value>"
参数,可以实现想要的结果。这些参数执行模式匹配排除或包含特定的文件或对象。下面的模式支持符号
- "*":匹配所有
- "?":匹配任何单个字符
- "[sequence]":匹配序列
中的任何字符- "[!sequence]":匹配任何不在"sequence">
中的字符
请注意,默认情况下,包含所有文件。这意味着只提供
--include
过滤器不会改变文件是什么转移。--include
将只重新包含已被从--exclude
过滤器中排除。如果你只想上传文件对于特定的扩展名,您需要首先排除所有文件,然后重新包含具有特定扩展名的文件。