如何格式化写入输出文件Python 3的内容?
我目前正在编写一个代码,读取一个包含“你赢了100吗?是!”的文件,获取每个字符并将其转换为以10为基数的ASCII值,然后将以10为基数的ASCII值转换为用户输入的以2-9为基数的值。所有非字母数字的字符都转换为“.” 我不允许使用内置python函数在基之间进行转换,因此我编写了自己的函数,将基10 ASCII值除以新的基,并将所有余数收集到一个列表中,然后反转该列表,以使新数字的顺序正确 然后,我的代码应该将新的数字和“.”写入out文件,但我不知道如何格式化进入out文件的列表。当我提交代码时,它说“builtins.TypeError:write()不接受关键字参数”。如何将剩余项列表写入输出文件,并将其格式化为单个字符串,而不使用方括号和逗号?谢谢如何格式化写入输出文件Python 3的内容?,python,file,Python,File,我目前正在编写一个代码,读取一个包含“你赢了100吗?是!”的文件,获取每个字符并将其转换为以10为基数的ASCII值,然后将以10为基数的ASCII值转换为用户输入的以2-9为基数的值。所有非字母数字的字符都转换为“.” 我不允许使用内置python函数在基之间进行转换,因此我编写了自己的函数,将基10 ASCII值除以新的基,并将所有余数收集到一个列表中,然后反转该列表,以使新数字的顺序正确 然后,我的代码应该将新的数字和“.”写入out文件,但我不知道如何格式化进入out文件的列表。当我提
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=''
,这是写入
,而不是打印
然后,您不能将超过1个参数传递给write
,当然也不能传递整数
您需要将整数列表转换为数字。我会这样做:
outfile.write("".join(map(int,remainders)))
.write
方法只接受一个参数:要写入的文本或字节字符串。但是,您也可以将打印
功能与文件
参数一起使用来写入文件。