python对传入参数进行类型转换后,参数丢失

python对传入参数进行类型转换后,参数丢失

if args is None:
args = sys.argv[1:-2]
svgfile = sys.argv[1]

            f1 = open("D:/debug3.txt","w+",encoding= "utf-8")
            markNum = int(sys.argv[-2], 10)              
            f1.write("arg:%s  "%sys.argv[-2])
            f1.write("num:%d  "%markNum)  
            f1.write("kjfiwefjksl  ")    
            f1.close()

文件内容:

img


当输入3时,都没有问题,能读取

问题:
直接写入num就会出问题
if args is None:
args = sys.argv[1:-2]
svgfile = sys.argv[1]

            f1 = open("D:/debug3.txt","w+",encoding= "utf-8")
            markNum = int(sys.argv[-2], 10)              
            f1.write("arg:%s  "%sys.argv[-2])
            f1.write("num:%d  "%markNum)  
            f1.write(markNum)  
            f1.write("kjfiwefjksl  ")    
            f1.close()

会出现问题:

img

文件写入会在f1.write(markNum) 停止且无法写入markNum
有人能告诉我为啥吗😴

你是以文本方式打开的,只能写字符串啊
你要写二进制数据,那打开文件要写wb+