Recursively enter each subdirectory of a directory in Python [duplicate]
This question already has an answer here:
Using os.walk() to recursively traverse directories in Python
10 answers
I am new to Python and I am trying to write a function that will be able to enter inside a folder if there all files it should just print their names if it is a folder it should go inside it and print it's files, if there is a folder inside this folder it should also go inside and do that until there is nothing left. For now I haven't found a way to go that deep. Is there a way to do that recursively? How should I proceed my code for some reason doesn't enter all subdirectories. Thanks in advance
def list_files(startpath, d):
for root, dirs, files in os.walk(startpath):
for f in files:
print (f)
for di in dirs:
print (di)
list_files(di, d + 1)
list_files(path, 0)
python
marked as duplicate by slider, paxdiablo
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 26 '18 at 5:16
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
add a comment |
This question already has an answer here:
Using os.walk() to recursively traverse directories in Python
10 answers
I am new to Python and I am trying to write a function that will be able to enter inside a folder if there all files it should just print their names if it is a folder it should go inside it and print it's files, if there is a folder inside this folder it should also go inside and do that until there is nothing left. For now I haven't found a way to go that deep. Is there a way to do that recursively? How should I proceed my code for some reason doesn't enter all subdirectories. Thanks in advance
def list_files(startpath, d):
for root, dirs, files in os.walk(startpath):
for f in files:
print (f)
for di in dirs:
print (di)
list_files(di, d + 1)
list_files(path, 0)
python
marked as duplicate by slider, paxdiablo
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 26 '18 at 5:16
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
regular approach is create a function that deal with a folder at one level, then call it recursively when you see a sub folder.
– Dong Nguyen
Nov 26 '18 at 5:09
thanks, but I was hoping my function was doing that but for some reason it is not. or should I create a variable path = root + '/' + dir and each time a new dir is added on the top of that add it to my variable path and pass it to my function?
– Victory Salta
Nov 26 '18 at 5:12
I don't think you need to make a recursive call withos.walk
. Remove the recursive call in the second for loop.
– slider
Nov 26 '18 at 5:17
add a comment |
This question already has an answer here:
Using os.walk() to recursively traverse directories in Python
10 answers
I am new to Python and I am trying to write a function that will be able to enter inside a folder if there all files it should just print their names if it is a folder it should go inside it and print it's files, if there is a folder inside this folder it should also go inside and do that until there is nothing left. For now I haven't found a way to go that deep. Is there a way to do that recursively? How should I proceed my code for some reason doesn't enter all subdirectories. Thanks in advance
def list_files(startpath, d):
for root, dirs, files in os.walk(startpath):
for f in files:
print (f)
for di in dirs:
print (di)
list_files(di, d + 1)
list_files(path, 0)
python
This question already has an answer here:
Using os.walk() to recursively traverse directories in Python
10 answers
I am new to Python and I am trying to write a function that will be able to enter inside a folder if there all files it should just print their names if it is a folder it should go inside it and print it's files, if there is a folder inside this folder it should also go inside and do that until there is nothing left. For now I haven't found a way to go that deep. Is there a way to do that recursively? How should I proceed my code for some reason doesn't enter all subdirectories. Thanks in advance
def list_files(startpath, d):
for root, dirs, files in os.walk(startpath):
for f in files:
print (f)
for di in dirs:
print (di)
list_files(di, d + 1)
list_files(path, 0)
This question already has an answer here:
Using os.walk() to recursively traverse directories in Python
10 answers
python
python
asked Nov 26 '18 at 5:03
Victory SaltaVictory Salta
306
306
marked as duplicate by slider, paxdiablo
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 26 '18 at 5:16
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
marked as duplicate by slider, paxdiablo
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 26 '18 at 5:16
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
regular approach is create a function that deal with a folder at one level, then call it recursively when you see a sub folder.
– Dong Nguyen
Nov 26 '18 at 5:09
thanks, but I was hoping my function was doing that but for some reason it is not. or should I create a variable path = root + '/' + dir and each time a new dir is added on the top of that add it to my variable path and pass it to my function?
– Victory Salta
Nov 26 '18 at 5:12
I don't think you need to make a recursive call withos.walk
. Remove the recursive call in the second for loop.
– slider
Nov 26 '18 at 5:17
add a comment |
regular approach is create a function that deal with a folder at one level, then call it recursively when you see a sub folder.
– Dong Nguyen
Nov 26 '18 at 5:09
thanks, but I was hoping my function was doing that but for some reason it is not. or should I create a variable path = root + '/' + dir and each time a new dir is added on the top of that add it to my variable path and pass it to my function?
– Victory Salta
Nov 26 '18 at 5:12
I don't think you need to make a recursive call withos.walk
. Remove the recursive call in the second for loop.
– slider
Nov 26 '18 at 5:17
regular approach is create a function that deal with a folder at one level, then call it recursively when you see a sub folder.
– Dong Nguyen
Nov 26 '18 at 5:09
regular approach is create a function that deal with a folder at one level, then call it recursively when you see a sub folder.
– Dong Nguyen
Nov 26 '18 at 5:09
thanks, but I was hoping my function was doing that but for some reason it is not. or should I create a variable path = root + '/' + dir and each time a new dir is added on the top of that add it to my variable path and pass it to my function?
– Victory Salta
Nov 26 '18 at 5:12
thanks, but I was hoping my function was doing that but for some reason it is not. or should I create a variable path = root + '/' + dir and each time a new dir is added on the top of that add it to my variable path and pass it to my function?
– Victory Salta
Nov 26 '18 at 5:12
I don't think you need to make a recursive call with
os.walk
. Remove the recursive call in the second for loop.– slider
Nov 26 '18 at 5:17
I don't think you need to make a recursive call with
os.walk
. Remove the recursive call in the second for loop.– slider
Nov 26 '18 at 5:17
add a comment |
1 Answer
1
active
oldest
votes
May be you can check this answer:
Using os.walk() to recursively traverse directories in Python
which employs os.walk() method like this.
import os
# traverse root directory, and list directories as dirs and files as files
for root, dirs, files in os.walk("."):
path = root.split(os.sep)
print((len(path) - 1) * '---', os.path.basename(root))
for file in files:
print(len(path) * '---', file)
Please don't copy/paste answers from a duplicate.
– slider
Nov 26 '18 at 5:12
initially I tried that but it doesn't enter all my directories either
– Victory Salta
Nov 26 '18 at 5:13
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
May be you can check this answer:
Using os.walk() to recursively traverse directories in Python
which employs os.walk() method like this.
import os
# traverse root directory, and list directories as dirs and files as files
for root, dirs, files in os.walk("."):
path = root.split(os.sep)
print((len(path) - 1) * '---', os.path.basename(root))
for file in files:
print(len(path) * '---', file)
Please don't copy/paste answers from a duplicate.
– slider
Nov 26 '18 at 5:12
initially I tried that but it doesn't enter all my directories either
– Victory Salta
Nov 26 '18 at 5:13
add a comment |
May be you can check this answer:
Using os.walk() to recursively traverse directories in Python
which employs os.walk() method like this.
import os
# traverse root directory, and list directories as dirs and files as files
for root, dirs, files in os.walk("."):
path = root.split(os.sep)
print((len(path) - 1) * '---', os.path.basename(root))
for file in files:
print(len(path) * '---', file)
Please don't copy/paste answers from a duplicate.
– slider
Nov 26 '18 at 5:12
initially I tried that but it doesn't enter all my directories either
– Victory Salta
Nov 26 '18 at 5:13
add a comment |
May be you can check this answer:
Using os.walk() to recursively traverse directories in Python
which employs os.walk() method like this.
import os
# traverse root directory, and list directories as dirs and files as files
for root, dirs, files in os.walk("."):
path = root.split(os.sep)
print((len(path) - 1) * '---', os.path.basename(root))
for file in files:
print(len(path) * '---', file)
May be you can check this answer:
Using os.walk() to recursively traverse directories in Python
which employs os.walk() method like this.
import os
# traverse root directory, and list directories as dirs and files as files
for root, dirs, files in os.walk("."):
path = root.split(os.sep)
print((len(path) - 1) * '---', os.path.basename(root))
for file in files:
print(len(path) * '---', file)
answered Nov 26 '18 at 5:11
TaoTao
214
214
Please don't copy/paste answers from a duplicate.
– slider
Nov 26 '18 at 5:12
initially I tried that but it doesn't enter all my directories either
– Victory Salta
Nov 26 '18 at 5:13
add a comment |
Please don't copy/paste answers from a duplicate.
– slider
Nov 26 '18 at 5:12
initially I tried that but it doesn't enter all my directories either
– Victory Salta
Nov 26 '18 at 5:13
Please don't copy/paste answers from a duplicate.
– slider
Nov 26 '18 at 5:12
Please don't copy/paste answers from a duplicate.
– slider
Nov 26 '18 at 5:12
initially I tried that but it doesn't enter all my directories either
– Victory Salta
Nov 26 '18 at 5:13
initially I tried that but it doesn't enter all my directories either
– Victory Salta
Nov 26 '18 at 5:13
add a comment |
regular approach is create a function that deal with a folder at one level, then call it recursively when you see a sub folder.
– Dong Nguyen
Nov 26 '18 at 5:09
thanks, but I was hoping my function was doing that but for some reason it is not. or should I create a variable path = root + '/' + dir and each time a new dir is added on the top of that add it to my variable path and pass it to my function?
– Victory Salta
Nov 26 '18 at 5:12
I don't think you need to make a recursive call with
os.walk
. Remove the recursive call in the second for loop.– slider
Nov 26 '18 at 5:17