如何获取Python中给定目录中所有文件(和目录)的列表?
嗨我正在使用python并尝试连接到sftp并想从那里检索xml文件并需要放在我的本地系统中,下面是代码
import paramiko
sftpURL = 'sftp.somewebsite.com'
sftpUser = 'user_name'
sftpPass = 'password'
ssh = paramiko.SSHClient()
# automatically add keys without requiring human intervention
ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
ssh.connect(sftpURL, username=sftpUser, password=sftpPass)
ftp = ssh.open_sftp()
files = ftp.listdir()
print files
Run Code Online (Sandbox Code Playgroud)
这里连接已成功完成,现在我想查看所有文件夹和所有文件,并需要输入所需的文件夹以从那里检索xml文件.
最后我的目的是在连接到sftp服务器后查看所有文件夹和文件.在上面的代码中我使用了ftp.listdir()
通过它获得输出,如下所示
['.bash_logout', '.bash_profile', '.bashrc', '.mozilla', 'testfile_248.xml']
Run Code Online (Sandbox Code Playgroud)
我想知道这些是否是唯一存在的文件?
我上面使用的命令也是查看文件夹的权利吗?
查看所有文件夹和文件的命令是什么
首先,如果标题不清楚,请允许我道歉。
为了简化我在工作中执行的任务,我开始编写此脚本来自动从特定路径中删除文件。
我的问题是,在当前状态下,此脚本不会检查路径提供的文件夹内的文件夹内容。
我不知道如何解决这个问题,因为据我所知,它应该检查这些文件?
import os
def depdelete(path):
for f in os.listdir(path):
if f.endswith('.exe'):
os.remove(os.path.join(path, f))
print('Dep Files have been deleted.')
else:
print('No Dep Files Present.')
def DepInput():
print('Hello, Welcome to DepDelete!')
print('What is the path?')
path = input()
depdelete(path)
DepInput()
Run Code Online (Sandbox Code Playgroud) 这个问题的目的是扩大 stackoverflow 上已经回答的问题的范围“在 python 中列出目录树结构? ”。
\n目标是形成一个字符串列表,直观地表示带有分支的目录树。
\n但是,输入不是有效的目录路径(如已回答的主题中所示),\n我们的任务是生成与输入相同的“路径文件列表”行为。
\n当然,该函数需要递归才能适应任何深度的文件。
\n示例
\n输入:
\n[\'main_folder\\\\file01.txt\',\n \'main_folder\\\\file02.txt\',\n \'main_folder\\\\folder_sub1\\\\file03.txt\',\n \'main_folder\\\\folder_sub1\\\\file04.txt\',\n \'main_folder\\\\folder_sub1\\\\file05.txt\',\n \'main_folder\\\\folder_sub1\\\\folder_sub1-1\\\\file06.txt\',\n \'main_folder\\\\folder_sub1\\\\folder_sub1-1\\\\file07.txt\',\n \'main_folder\\\\folder_sub1\\\\folder_sub1-1\\\\file08.txt\',\n \'main_folder\\\\folder_sub2\\\\file09.txt\',\n \'main_folder\\\\folder_sub2\\\\file10.txt\',\n \'main_folder\\\\folder_sub2\\\\file11.txt\']\n
Run Code Online (Sandbox Code Playgroud)\n输出:
\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file01.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file02.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 folder_sub1\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file03.txt\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file04.txt\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file05.txt\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 folder_sub1-1\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file06.txt\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file07.txt\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file08.txt\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 folder_sub2\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file09.txt\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file10.txt\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file11.txt\n
Run Code Online (Sandbox Code Playgroud)\n将文件路径列表转换为表示目录结构的嵌套字典已在主题“ Python 将路径转换为字典”中得到解答。\n使用以下输出:
\n{\'main_folder\': {\'file01.txt\': \'txt\',\n \'file02.txt\': \'txt\',\n \'folder_sub1\': {\'file03.txt\': \'txt\',\n \'file04.txt\': \'txt\',\n \'file05.txt\': …
Run Code Online (Sandbox Code Playgroud) 是否可以使用Python(或某种lib)生成目录及其所有子目录+文件的基于ascii的树结构?
我已经尝试了很多方法,但不幸的是我无法解决这个问题。
输出的示例如下所示:
[rootdir]
|
+--- [subdir0]
|
+--- [subdir1]
| |
| +--- file1
| +--- file2
|
+--- [subdir2]
| |
| +--- [subdir3]
| |
| +--- [subdir4]
| |
| +--- [subdir5]
| |
| +--- [subdir6]
| | |
| | +--- file4
| |
| +--- file3
+--- file5
+--- file6
Run Code Online (Sandbox Code Playgroud)
编辑:
我当前的(很棒的)剧本被要求了。
def treeStructure(startpath):
for root, dirs, files in os.walk(startpath):
level = root.replace(startpath, '').count(os.sep)
indent = ' ' * 2 * …
Run Code Online (Sandbox Code Playgroud) python ×5
directory ×2
tree ×2
ascii ×1
file ×1
paramiko ×1
path ×1
python-2.7 ×1
python-3.x ×1
sftp ×1
ssh ×1
subdirectory ×1
treeview ×1