簡體   English   中英

如何讀取變量內容而不是文件路徑?

[英]How to read variable contents instead of file path?

我有一個 Python function [1],它需要指向它必須作為參數處理的文件的文件路徑。 但是,我有一個包含相應文件內容的字符串變量。 我不想創建一個文件只是為了用所說的 function 讀取它,然后刪除該文件。

有沒有辦法傳遞變量而不是指向具有相同內容的文件的文件路徑?

問題示例:

data = '1,2,3\n4,5,6'

# this is the intended function use:
process_data('data.csv')

# this is how I would like to use it 
# so that I don't have to create a file
process_data(data)

[1] 具體來說,所說的function是boto3.client.upload_file(file_path, bucket, target_path)

我已經閱讀了一些使用io.StringIO的方法,但不知何故我很不幸讓它們運行。

boto3.client.upload_file需要一個文件名而不是一個文件 object,因此您不能將io.StringIO與它一起使用。 但是,您可以使用boto3.client.upload_fileobj ,它可以精確地處理文件對象,例如。

import io
import boto3

s3 = boto3.client('s3')

f = io.StringIO('1,2,3\n4,5,6')
s3.upload_fileobj(f, ...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM