从文本文件中读取路径

问题描述 投票:0回答:1

我写了一个脚本,它将扫描共享文件夹并获取这些文件夹中的所有文件的文件年龄和一些其他文件元信息。

my_paths = []
for p in ['\\\\data\\hold\\app1','\\\\data\\hold\\app2']:
    for dirpath, dirnames, filenames in os.walk(p):
        my_paths.append(filenames)
        for filename in filenames:
            full_path = os.path.join(dirpath, filename)
            if last_modified(full_path) < threshold:
                string_output='Age :' +age_file(full_path)+'\n'+'File Size : '+file_size(full_path)+'\n'
                print(string_output)
                #create(string_output);

我必须硬编码代码中的所有共享,而不是我想让脚本从文本文件中读取,我可以更新所有路径。

text.txt

\\data\hold\app1
\\data\hold\app2

改造代码,

my_paths = []
for line in open(r'd:\mydata\text.txt').readlines():
    my_paths.append(line.strip())
    print  my_paths
    for dirpath, dirnames, filenames in os.walk(line):
        my_paths.append(filenames)
        for filename in filenames:
            full_path = os.path.join(dirpath, filename)
            if last_modified(full_path) < threshold:
                string_output='Age :' +age_file(full_path)+'\n'+'File Size : '+file_size(full_path)+'\n'
                print(string_output)
                #create(string_output);

my_paths返回数据,如['\\ data \ hold \ app1','\\ data \ hold \ app2'],但不知怎的,其余部分无效。

python arrays os.walk
1个回答
0
投票

你只是忘了去掉你在循环中读到的行:

...
for dirpath, dirnames, filenames in os.walk(line.strip()):
...
© www.soinside.com 2019 - 2024. All rights reserved.