簡體   English   中英

如何在文件中每一行的開頭 append 一個字符串

[英]How to append a string in beginning of each line in file

我在 s3 上壓縮了文件,我必須在其中添加字符串。 我嘗試了以下代碼。 但它不會 append 字符串到第一行。

s3_resource = boto3.resource('s3')
zip_obj = s3_resource.Object(bucket_name=bucket, key=obj_key)
buffer = BytesIO(zip_obj.get()["Body"].read())

try:
    z = zipfile.ZipFile(buffer)

    for filename in z.namelist(): 
         file1 = z.read(filename).decode("utf-8") 
         file2 = (processed_dateTimeStr.join(z.read(filename).decode("utf-8").splitlines(True))).encode("utf-8")
         object = s3_resource.Object(dest_bucket, f'{dest_fileName}')
         object.put(Body=file2)

str.join在作為參數給出的序列的所有元素之間插入一個常量字符串:

>>> '-'.join(['a', 'b', 'c'])
'a-b-c'

如果你也想在第一個元素之前有它,你可以簡單地使用連接:

>>> '-' + '-'.join(['a', 'b', 'c'])
'-a-b-c'

...或者使用一個小技巧——在序列的開頭插入一個空字符串:

>>> '-'.join(['', 'a', 'b', 'c'])
'-a-b-c'

在您的示例中,您可以使用列表解包來堅持使用密集的單線樣式:

         file2 = (processed_dateTimeStr.join(["", *z.read(filename).decode("utf-8").splitlines(True)])).encode("utf-8")

暫無
暫無

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

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