Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 选择子流程检查输出的目录_Python_Python 3.x - Fatal编程技术网

Python 选择子流程检查输出的目录

Python 选择子流程检查输出的目录,python,python-3.x,Python,Python 3.x,正在寻找一些帮助,尝试选择一个指定的目录来搜索文件a、B和C。 当前,当脚本位于同一目录中时,我可以使用它,但无法确定如何使它在指定目录下工作C:\\test\u files 这就是我目前的工作: import subprocess Machine_ids = ["A","B","C"] files = subprocess.check_output("dir", shell=True) files = files.decode("utf-8") files = files.split("

正在寻找一些帮助,尝试选择一个指定的目录来搜索文件a、B和C。 当前,当脚本位于同一目录中时,我可以使用它,但无法确定如何使它在指定目录下工作
C:\\test\u files

这就是我目前的工作:

import subprocess

Machine_ids = ["A","B","C"]

files = subprocess.check_output("dir", shell=True)

files = files.decode("utf-8")
files = files.split("\r\n")
files = files[7:-3]

for i in range(0,len(files)):
    file = files[i]
    file = file.split(" ")
    file = list(filter(None, file))
    for ID in Machine_ids:
        if (file[3].find(ID) !=-1 and len(file[3]) == 6):
            files[i] = file[3]
            break
        else: 
            files[i] = None

files = list(filter(None, files))       
print(files)
我要查找的目录有多个其他文件,我想专门打印文件A、B和C,排除D、E和F

谢谢。

使用
os.listdir()
方法可以指定文件或目录路径。不要忘记导入
操作系统模块
。下面的示例按指定的路径打印文件名

import os

path = "/Users/yourUserName/Desktop"  # Put your file path here
file_list = os.listdir(path)  # Pass the path variable in the function

print(file_list)
为了满足在路径A、B和C中搜索文件的需要,可以创建多个路径变量并将它们传递到
os.listdir()
方法中。例如:

pathA = "path for path A"
pathB = "path for path B"
pathC = "path for path C"
编辑:以特定路径打印指定文件。 将要搜索的文件名存储在列表中(
specific_files
),并检查每个文件是否都在使用
os.listdir()
生成的文件列表中

输出:

/Users/yourUserName/Desktop/fileA
/Users/yourUserName/Desktop/fileB
/Users/yourUserName/Desktop/fileC

您好,这样做会给我目录中的所有文件,但是我只想指定文件A、B和C,而不是全部。可能吗?文件A、B和C在同一目录中吗?是的,A、B和C在同一目录中,但是也有文件D、E和F,但只有wan可以打印A、B和C。
/Users/yourUserName/Desktop/fileA
/Users/yourUserName/Desktop/fileB
/Users/yourUserName/Desktop/fileC