2017-09-05 41 views
-1

当下面的代码位运行,最具体的最后一个“else'condition,我得到这个错误:OSERROR:[错误22]无效的说法:”我的名字\ N- Groups.txt”如何在文件名结尾删除 n

我应该怎么做才能让‘\ n’不包含在文件名中,我希望它仅仅是‘我的名字-Groups.txt’。

def add_child_to_group(): 
    file = open("Children.txt", 'r') # open the Children.txt file 
    lineList = file.readlines() 
    lineList.sort() 
    file.close() 
    choice1 = choicebox('Choose a child to enter into a group.', 'Add child to a group. ', choices=lineList) 
    if choice1 is None: 
     print("You cancelled... returning to the main menu.") 
     main() 
     return 
    else: 
     file = open("Groups.txt", 'r') 
     lineList = [line.strip() for line in file] 
     choice2 = choicebox("Which group would you like to add the child to?", "Choose a group.", 
         choices=lineList) 
     file.close() 
     if choice2 is None: 
      print("You cancelled... returning to the main menu.") 
      main() 
      return 
     else: 
      if choice1 in open('%s.txt' % choice2).read(): 
       child_already_in_group(choice1, choice2) 
       return 
      else: 
       file1 = open('%s.txt' % choice2, 'a') 
       file1.write(str(choice1)) 
       print(str(choice1) + "was added to the " + str(choice2) + " group") 
       file1.close() 
       file2 = open('%s-Groups.txt' % choice1, 'a') 
       file2.write(str(choice2)) 
+1

您可以使用str.replace( '\ n' ,'') – MedAli

回答

2

像这样的事情可以做:

>>> st = 'My Name\n-Groups.txt' 
>>> st.replace('\n','') 
'My Name-Groups.txt' 
>>> 

所以,在你的代码,你可以进行以下修改:

file2 = open(('%s-Groups.txt' % choice1).replace('\n',''), 'a')