如何格式化写入输出文件Python 3的内容?
问题描述:
我目前正在编写一个代码,读取一个包含“您赢了100吗?是!”的文件,将每个字符转换为它的基本10位ASCII值,然后将基本10个ASCII值转换为用户输入的基数2-9。所有不是alphaNumeric的字符都被转换为“..”如何格式化写入输出文件Python 3的内容?
我不允许使用内置的python函数在碱基之间进行转换,所以我编写了自己的以新碱基为基础的10位ASCII值并将所有余数收集到列表中并反转列表,以便新号码按正确的顺序排列。
我的代码然后应该写出新的数字和“..”到出文件,但我无法弄清楚如何格式化出列文件的列表。当我提交代码时,它说“builtins.TypeError:write()不带关键字参数”。如何将剩余列表写入输出文件并能够将其格式化为单个字符串,而不用括号和逗号?谢谢!
infile = open("myFile.txt" , "r")
outfile = open("x_myFile.txt" , "w")
userBase = int(inputBase())
for line in infile:
for ch in line:
if ch.isalpha() or ch.isdigit():
value = int(ord(ch))
remainders = list()
while value>0:
remainders.append(value % userBase)
value//=userBase
remainders = remainders[::-1]
outfile.write(*remainders, sep='')
else:
outfile.write("..")
infile.close()
outfile.close()
答
首次下降, sep=''
,这是write
,不print
。
然后你不能传递多于1个参数到write
,当然不是整数。
您需要将整数列表转换为数字。我会这样做:
outfile.write("".join(map(int,remainders)))
'.write'方法只需要一个参数:您要写入的文本或字节字符串。但是,您也可以使用'print'函数和'file' arg来写入文件。 –