在python 3中使用用户获取的输入重命名文本文件

时间:2016-03-17 12:31:47

标签: python string python-3.x variables user-input

我一直在尝试创建一个接受用户输入的函数,并使用该字符串重命名文本文件。我试过了NSDecimalNumberopen("%x.txt" % name, "w")。有一种我不了解的更有效的方法吗?

os.rename

4 个答案:

答案 0 :(得分:2)

你忘了实际格式化字符串。

  A.io.request('${bookingValidationURL}',{
         dataType: 'json',
         method: 'POST',
         sync : true, // this is the change
         data: { <portlet:namespace/>roomIndex: roomIndex,
             <portlet:namespace/>starttime: starttime,
             <portlet:namespace/>endtime: endtime,
                  },
         on: {

         success: function() {

              var data = this.get('responseData');

              if(data==null){
                  status="0";
              }

            }

         }

    });

答案 1 :(得分:0)

您无需打开文件即可重命名。正如@Bryan Oakely指出的那样,os.rename是在Python中实现它的方法。例如:

s = "old_name.txt"
x = input("name for your file: ")
os.rename(s,x+".txt")

会将"old_name.txt"重命名为x(由用户指定).txt作为后缀。

答案 2 :(得分:0)

避免使用input()的好方法是:

import os, sys, time

def textfile():
   x = raw_input("name for your file: ")
   os.rename("old.txt", x + ".txt)

textfile()

由于您没有限制输入,因此存在安全问题。用户可以添加../hello.txt并将文件写入另一个文件夹。或者甚至做/etc/passwd并将文件写在你可能不想要的地方。

答案 3 :(得分:0)

这样可行:

import os

def file_rename():
    oldname=input("Old name: ") #Get the old file name, don't forget the extention
    newname=input("New name: ") #Get the new file name (excluding the extention)
    os.rename(oldname,newname + ".txt") #Renames the file

file_rename() #Calls the function above

如果您想重命名同一目录中的不同文件,这应该没问题,但是,如果不是只将oldname输入设置为字符串,例如“example.txt”。