如何进入 python 中作为命令行参数给出的文件夹

How to enter into the folder given as a command line argument in python

我想打开在 python 文件中作为命令行参数给出的文件夹,如 test.py folder1 然后打印所有该文件夹中的文件名。还有,test.py和folder1不在同一个目录下。

我卡在需要进入作为 arg 传递的文件夹的部分。

import os

filename = sys.srgv[1]
os.chdir("/home/all_folder")
folder= os.listdir()
if filename in folder:
   ...

您可以将文件夹作为参数提供给 os.listdir,这样您就不必使用 os.chdir 来更改当前目录。下面是一个示例程序,它将文件夹作为第一个命令行参数,并打印该文件夹中的文件:

import os
import sys

folder = sys.argv[1]

folder_content = os.listdir(folder)
for filename in folder_content:
    print(filename)

用法示例:python test.py /home/my_username/somefolder

尝试使用完整路径

from os import listdir
from os.path import isfile, join

mypath = "C:/Users/fullpath"

onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]

print(onlyfiles)