将文件重命名为文件夹名的Python脚本
我正在制作一个python脚本,将文件夹中的文件名更改为文件夹的相同名称。 例如,如果文件夹名为TestFolder,文件夹中的txt文件名为test,则脚本将使该文件名为TestFolder.txt 但是,如何使脚本在其所在目录之外工作? 下面是到目前为止我的代码,我希望我解释得足够好将文件重命名为文件夹名的Python脚本,python,directory,active-directory,rename,working-directory,Python,Directory,Active Directory,Rename,Working Directory,我正在制作一个python脚本,将文件夹中的文件名更改为文件夹的相同名称。 例如,如果文件夹名为TestFolder,文件夹中的txt文件名为test,则脚本将使该文件名为TestFolder.txt 但是,如何使脚本在其所在目录之外工作? 下面是到目前为止我的代码,我希望我解释得足够好 import os temp = os.path.dirname(os.path.realpath(__file__)) src = "{temp}\\".format(temp=temp) def ren
import os
temp = os.path.dirname(os.path.realpath(__file__))
src = "{temp}\\".format(temp=temp)
def renamer():
path = os.path.dirname(src)
folder = os.path.basename(path)
os.rename("{directory}\\{file}".format(directory=src, file=listDir()),
"{directory}\\{file}.txt".format(directory=src, file=folder))
def listDir():
for file in os.listdir(src):
if file.endswith(".txt"):
return file
def main():
print("Hello World")
print(listDir())
renamer()
print(listDir())
if __name__ == "__main__":
main()
您的问题是,您在将脚本位置指定为重命名路径时遇到了一些麻烦:
temp = os.path.dirname(os.path.realpath(__file__))
src = "{temp}\\".format(temp=temp)
def renamer():
path = os.path.dirname(src)
folder = os.path.basename(path)
解决方案很简单:如果不希望脚本的位置作为路径/文件夹,则不要这样做。把你想要的东西放在它的位置上。使用cwd
(当前工作目录)在执行位置重命名;否则,请重新编码程序以接受文件夹名称作为输入。通过在线的许多例子,这两种方法都是现成的