2017-10-20 131 views
-1

我目前正在编写一个代码,读取一个包含“您赢了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() 
+0

'.write'方法只需要一个参数:您要写入的文本或字节字符串。但是,您也可以使用'print'函数和'file' arg来写入文件。 –

回答

1

首次下降, sep='',这是write,不print

然后你不能传递多于1个参数到write,当然不是整数。

您需要将整数列表转换为数字。我会这样做:

outfile.write("".join(map(int,remainders)))