From: Kinney, Michael D Date: Fri, 3 Aug 2018 20:47:33 +0000 (+0800) Subject: BaseTools/BinToPcd: Open output file as text file X-Git-Tag: edk2-stable201903~1261 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=cd3a42640acdb4f5ac14ac19f22ede002124920c BaseTools/BinToPcd: Open output file as text file https://bugzilla.tianocore.org/show_bug.cgi?id=1069 Undo changes from following commit: https://github.com/tianocore/edk2/commit/83964ebc5e74549d6efc7134af19150a0b2079aa Change the open mode for the output file from 'wb' to 'w' so the output file is written as a text file and not a binary file. This resolves the issue where the text file was not writable from Python 3.x and also removes b'' from output file when the string was encoded as a bytearray. Cc: YanYan Sun Cc: Yonghong Zhu Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney Tested-by:YanYan Sun Reviewed-by: Yonghong Zhu --- diff --git a/BaseTools/Scripts/BinToPcd.py b/BaseTools/Scripts/BinToPcd.py index 1495a36933..316cc6117f 100644 --- a/BaseTools/Scripts/BinToPcd.py +++ b/BaseTools/Scripts/BinToPcd.py @@ -70,8 +70,7 @@ if __name__ == '__main__': # # Return a PCD value of the form '{0x01, 0x02, ...}' along with the PCD length in bytes # - PcdValue = '{' + ', '.join (['0x{Byte:02X}'.format (Byte = Item) for Item in Buffer]) + '}' - return PcdValue.encode (), len (Buffer) + return '{' + (', '.join (['0x{Byte:02X}'.format (Byte = Item) for Item in Buffer])) + '}', len (Buffer) # # Create command line argument parser object @@ -81,7 +80,7 @@ if __name__ == '__main__': conflict_handler = 'resolve') parser.add_argument ("-i", "--input", dest = 'InputFile', type = argparse.FileType ('rb'), action='append', required = True, help = "Input binary filename. Multiple input files are combined into a single PCD.") - parser.add_argument ("-o", "--output", dest = 'OutputFile', type = argparse.FileType ('wb'), + parser.add_argument ("-o", "--output", dest = 'OutputFile', type = argparse.FileType ('w'), help = "Output filename for PCD value or PCD statement") parser.add_argument ("-p", "--pcd", dest = 'PcdName', type = ValidatePcdName, help = "Name of the PCD in the form .")