我一直在尝试创建一个接受用户输入的函数,并使用该字符串重命名文本文件。我试过了NSDecimalNumber
和open("%x.txt" % name, "w")
。有一种我不了解的更有效的方法吗?
os.rename
答案 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”。