繁体   English   中英

获取unicode输入,需要将其作为字符串

[英]Getting a unicode input, need it to be a string

因此,我终于开始今天写我的第一个程序,除了一件事之外,其他所有东西都运行顺利。

在下面的代码中,我让用户传递目录的路径。 我原以为这是一个字符串,但是遇到错误后,我设法找到了源。 问题出在哪里?我正在获取unicode,当它用于获取目录中文件的列表时,这似乎会导致错误。

print "Hello Welcome to my little Porgram"
print "I need a little information to rename the files"
usd=getuserin("What is the file path to the files that you wish to rename?")
print "Thank you for chosing a directory path"
print "The directory path you chose was:" + " " + usd
mainname=getuserin("What is the name of the TVshow/Anime/Other thing? ")
print "Okay so its called" + " " + mainname
print "Okay I'll start renaming right away"
renamefiles(usd, mainname)

第三行是返回Unicode的那一行,基本上它所做的全部就是通过raw_input()获取输入。 输入的目录如下:

def renamefiles(directory, Mainname) :
    os.chdir(directory)
    files=os.listdir
    for elem in files:

现在,我可能会误解该错误的含义,因为这基本上是我第一次编程任何东西,但我发现了正确的错误。

TypeError: 'builtin_function_or_method' object is not iterable

任何帮助都非常感谢

我不知道您为什么认为这与Unicode或字符串有关。 错误消息非常清楚:您正在尝试遍历实际的函数对象,而不是遍历函数的结果。 这是因为您实际上没有调用 os.listdir :您只是将files设置为函数本身。 要调用函数,请始终使用括号:

files = os.listdir()

将来,还请包括您得到的任何回溯。 这对于调试至关重要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM