对于 Python 3.8 Azure 数据湖第 2 代,我如何检查文件系统上是否存在文件?
For Python 3.8 Azure data lake Gen 2, how do I check if a file exists on a filesystem?
我正在使用 Python 3.8、Azure Data Lake gen 2 和以下插件...
azure-storage-blob==12.4.0
azure-storage-file-datalake==12.1.1
如何检查文件系统上是否存在特定路径?我试过这个
from azure.storage.filedatalake import DataLakeFileClient
...
file = DataLakeFileClient.from_connection_string(
DATA_LAKE_CONN_STR,
file_system_name=filesystem,
file_path=path
)
但收到错误消息,指出 DataLakeFileClient 不存在“存在”方法。
如果要检查文件系统中是否存在文件,请参考以下代码
from azure.storage.filedatalake import DataLakeFileClient
account_name = 'testadls05'
account_key = 'CpfCQot******JOLvB+aJOZbsQ=='
file_system_name='test'
file_client = DataLakeFileClient(account_url="{}://{}.dfs.core.windows.net".format(
"https",
account_name
),
file_system_name=file_system_name,
file_path='test.txt',
credential=account_key
)
try:
file_client.get_file_properties()
except Exception as error:
print(error)
if type(error).__name__ =='ResourceNotFoundError':
print("the path does not exist")
一种更简单的测试文件或路径是否存在的方法:
from azure.storage.filedatalake import DataLakeServiceClient
...
try:
file_system_client = service_client.get_file_system_client(file_system="my-file-system")
if file_system_client.get_file_client("my-file").exists():
print("file exists")
else:
print("file does not exist")
except Exception as e:
print(e)
将 get_file_client()
更改为 get_directory_client()
以测试路径。
我正在使用 Python 3.8、Azure Data Lake gen 2 和以下插件...
azure-storage-blob==12.4.0
azure-storage-file-datalake==12.1.1
如何检查文件系统上是否存在特定路径?我试过这个
from azure.storage.filedatalake import DataLakeFileClient
...
file = DataLakeFileClient.from_connection_string(
DATA_LAKE_CONN_STR,
file_system_name=filesystem,
file_path=path
)
但收到错误消息,指出 DataLakeFileClient 不存在“存在”方法。
如果要检查文件系统中是否存在文件,请参考以下代码
from azure.storage.filedatalake import DataLakeFileClient
account_name = 'testadls05'
account_key = 'CpfCQot******JOLvB+aJOZbsQ=='
file_system_name='test'
file_client = DataLakeFileClient(account_url="{}://{}.dfs.core.windows.net".format(
"https",
account_name
),
file_system_name=file_system_name,
file_path='test.txt',
credential=account_key
)
try:
file_client.get_file_properties()
except Exception as error:
print(error)
if type(error).__name__ =='ResourceNotFoundError':
print("the path does not exist")
一种更简单的测试文件或路径是否存在的方法:
from azure.storage.filedatalake import DataLakeServiceClient
...
try:
file_system_client = service_client.get_file_system_client(file_system="my-file-system")
if file_system_client.get_file_client("my-file").exists():
print("file exists")
else:
print("file does not exist")
except Exception as e:
print(e)
将 get_file_client()
更改为 get_directory_client()
以测试路径。