Я успешно использовал killableprocess в Windows, Linux и Mac. Если вы используете Cygwin Python, вам понадобится версия killableprocess OSAF, потому что иначе родные процессы Windows не будут убиты.
Вероятно, есть более питонский способ написать это, но вот код, который я написал, используя project-lib , согласно ответу, предоставленному @Greg Filla
files = [] # List to hold data file names
# Get list of all file names in storage bucket
all_files = project.get_files() # returns list of dictionaries
# Create list of file names to load based on prefix
for f in all_files:
if f['name'][:3] == DataFile_Prefix:
files.append(f['name'])
print ("There are " + str(len(files)) + " data files in the storage bucket.")
Учетные данные в IBM Cloud Object Storage (COS) находятся на уровне экземпляра COS, а не на уровне отдельных файлов. Каждый экземпляр COS может иметь любое количество сегментов, в каждом из которых содержатся файлы. Вы можете получить учетные данные для экземпляра COS из консоли Bluemix.
. пакет python для доступа к файлам. https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
import boto3
s3c = boto3.client('s3', endpoint_url='XXXXXXXXX',aws_access_key_id='XXXXXXXXXXX',aws_secret_access_key='XXXXXXXXXX')
s3.list_objects(Bucket=bucket_name, Prefix=file_path)
s3c.download_file(Filename=filename, Bucket=bucket, Key=objectname)
s3c.upload_file(Filename=filename, Bucket=bucket, Key=objectname)
Облако Watson Studio предоставляет вспомогательную библиотеку с именем project-lib для работы с объектами в вашем экземпляре Cloud Object Storage. Посмотрите эту документацию по использованию пакета в Python: https://dataplatform.cloud.ibm.com/docs/content/analyze-data/project-lib-python.html
[ 117] Для вашего конкретного вопроса,get_files()
должен делать то, что вам нужно. Это вернет список всех файлов в вашей корзине, затем вы сможете выполнить сопоставление с образцом, чтобы оставить только то, что вам нужно. Основываясь на этом отфильтрованном списке, вы можете выполнить итерацию и использовать get_file(file_name)
для каждого file_name
в вашем списке.
Чтобы создать «папку» в вашей корзине, вы должны следовать соглашению об именовании файлов для создания «псевдо папки». Например, если вы хотите создать папку ресурсов «data», вам следует добавить префикс имен файлов для объектов, принадлежащих этой папке, с data/
.