我有一个名为myfolder
的文件夹,其中包含多个文件,文件名如下,
ID001_2017-04-15.csv, ID002_2017-04-15.csv, ID001_2017-04-16.csv, ID002_2017-04-16.csv,
ID001_2017-04-17.csv, ID002_2017-04-17.csv, ID001_2017-04-18.csv, ID002_2017-04-18.csv
文件名上的日期是文件创建的日期。例如,文件ID001_2017-04-17.csv
在 2017-04-17 上创建。以下是我将文件夹中的所有文件上传到Amazon S3的方法,
import boto3
def upload_files(path):
session = boto3.Session(
aws_access_key_id = 'this is my access key',
aws_secret_access_key = 'this is my secret key',
region_name = 'this is my region'
)
s3 = session.resource('s3')
bucket = s3.Bucket('this is my bucket')
for subdir, dirs, files in os.walk(path):
for file in files:
full_path = os.path.join(subdir, file)
with open(full_path, 'rb') as data:
bucket.put_object(Key = full_path[len(path) + 1:], Body = data)
if __name__ == "__main__":
upload_files('path to myfolder') ## Replace this with your folder directory
我的问题是,我是否只能将今天创建的文件上传到Amazon S3?
答案 0 :(得分:1)
这将检查文件是否今天创建:
import os.path
import datetime.datetime
# Create a datetime object for right now:
now = datetime.datetime.now()
# Create a datetime object for the file timestamp:
ctime = os.path.getctime('example.txt')
filetime = datetime.datetime.fromtimestamp(ctime)
# Check if they're the same day:
if filetime.year == now.year and filetime.month == now.month and filetime.day = now.day:
print('File was created today')
如果你在for file in files:
循环中放置类似的东西,你应该能够隔离今天创建的文件。