【问题标题】:Python script to rename a file to the folder name将文件重命名为文件夹名称的 Python 脚本
【发布时间】:2020-06-29 02:12:26
【问题描述】:

我正在制作一个 python 脚本来将文件夹中的文件名更改为文件夹的相同名称。 例如,如果一个文件夹名为 TestFolder,文件夹中的 txt 文件名为 test,则脚本将生成名为 TestFolder.txt 的文件。

但是,如何让脚本在它所在的目录之外运行呢? 到目前为止,下面是我的代码,我希望我解释得足够好。

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()

【问题讨论】:

    标签: python directory active-directory rename working-directory


    【解决方案1】:

    您的问题是您将脚本位置指定为重命名路径时遇到了一些麻烦:

    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(当前工作目录)重命名;否则,重新编码您的程序以接受文件夹名称作为输入。这些都可以通过许多在线示例轻松获得。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      • 2014-12-27
      • 2014-08-03
      相关资源
      最近更新 更多