我正在使用os.listdir()从目录中获取所有文件并将它们转储到txt文件中。我将使用txt文件导入访问以生成超链接。我遇到的问题是获得正确的路径。所以当脚本运行时,它会使用你所在的目录。这是一个例子。现在一半工作,它创建links.txt,但文本文件中没有任何内容。
myDirectory = os.listdir("links")
f.open("links.txt", "w")
f.writelines([os.getcwd %s % (f) for f in myDirectory])
答案 0 :(得分:1)
你的这一行:
f.writelines([os.getcwd %s % (f) for f in myDirectory])
是无效的Python语法,很难猜到你的想法 - 例如,为什么你会在myDirectory
列出时关注当前目录,而不是当前目录中的文件,而是子目录“链接”中的文件?
尝试阅读你的想法始终是一项困难且通常无益的练习,但假设你的意思是使用当前目录,你可能需要
f.writelines(os.path.join(os.getcwd(), f) for f in myDirectory)
答案 1 :(得分:0)
您必须使用尾随的parens调用os.getcwd()
。
你可能真正想要的是os.path.join()
答案 2 :(得分:0)
os.getcwd是一个你需要调用的函数...我也不确定你用字符串转义%做什么 - 但是它们只能在字符串里面工作...我猜你想要的东西像这样:
f.writelines([os.path.join(os.getcwd(),f) for f in myDirectory])
[编辑:来自Alex Martelli的os.path.join更好的回答]