Hướng dẫn how to pass file path as command line arguments in python - cách chuyển đường dẫn tệp dưới dạng đối số dòng lệnh trong python

Bất cứ ai có thể hướng dẫn tôi làm thế nào tôi có thể nhận được đường dẫn tệp nếu chúng tôi chuyển tệp từ đối số dòng lệnh và trình trích xuất tệp. Trong trường hợp chúng ta cũng cần kiểm tra xem tệp có tồn tại thành thư mục cụ thể không

python.py /home/abhishek/test.txt

Nhận đường dẫn tệp và kiểm tra kiểm tra.txt tồn tại vào thư mục Abhishek.

Tôi biết nó có thể rất dễ dàng nhưng tôi có một chút mới với Pytho

Hướng dẫn how to pass file path as command line arguments in python - cách chuyển đường dẫn tệp dưới dạng đối số dòng lệnh trong python

hỏi ngày 16 tháng 1 năm 2013 lúc 14:14Jan 16, 2013 at 14:14

1

import os
import sys

fn = sys.argv[1]
if os.path.exists(fn):
    print os.path.basename(fn)
    # file exists

Đã trả lời ngày 16 tháng 1 năm 2013 lúc 14:15Jan 16, 2013 at 14:15

Eumiroeumiroeumiro

199K34 Huy hiệu vàng294 Huy hiệu bạc259 Huy hiệu Đồng34 gold badges294 silver badges259 bronze badges

2

Bắt đầu với Python 3.4, bạn có thể sử dụng argparse cùng với pathlib:

import argparse
from pathlib import Path

parser = argparse.ArgumentParser()
parser.add_argument("file_path", type=Path)

p = parser.parse_args()
print(p.file_path, type(p.file_path), p.file_path.exists())

Đã trả lời ngày 23 tháng 5 năm 2019 lúc 9:00May 23, 2019 at 9:00

Hướng dẫn how to pass file path as command line arguments in python - cách chuyển đường dẫn tệp dưới dạng đối số dòng lệnh trong python

Nijmnijmnijm

2.11712 huy hiệu bạc28 Huy hiệu đồng12 silver badges28 bronze badges

Tôi nghĩ rằng cách thanh lịch nhất là sử dụng ArgumentParser theo cách này, bạn thậm chí còn nhận được tùy chọn

import os
import sys

fn = sys.argv[1]
if os.path.exists(fn):
    print os.path.basename(fn)
    # file exists
0 giúp người dùng tìm ra cách vượt qua các đối số. Tôi cũng đã bao gồm một đối số tùy chọn (
import os
import sys

fn = sys.argv[1]
if os.path.exists(fn):
    print os.path.basename(fn)
    # file exists
1).

Bây giờ bạn có thể chỉ cần thực thi với

import os
import sys

fn = sys.argv[1]
if os.path.exists(fn):
    print os.path.basename(fn)
    # file exists
2

import argparse
import sys
import os

def create_arg_parser():
    # Creates and returns the ArgumentParser object

    parser = argparse.ArgumentParser(description='Description of your app.')
    parser.add_argument('inputDirectory',
                    help='Path to the input directory.')
    parser.add_argument('--outputDirectory',
                    help='Path to the output that contains the resumes.')
    return parser


if __name__ == "__main__":
    arg_parser = create_arg_parser()
    parsed_args = arg_parser.parse_args(sys.argv[1:])
    if os.path.exists(parsed_args.inputDirectory):
       print("File exist")

Hướng dẫn how to pass file path as command line arguments in python - cách chuyển đường dẫn tệp dưới dạng đối số dòng lệnh trong python

Đã trả lời ngày 16 tháng 11 năm 2017 lúc 7:50Nov 16, 2017 at 7:50

Hướng dẫn how to pass file path as command line arguments in python - cách chuyển đường dẫn tệp dưới dạng đối số dòng lệnh trong python

Ph03n1xPh03n1xPh03n1x

7646 Huy hiệu bạc12 Huy hiệu Đồng6 silver badges12 bronze badges

Dùng cái này:

import sys
import os

path = sys.argv[1]

# Check if path exits
if os.path.exists(path):
    print "File exist"

# Get filename
print "filename : " + path.split("/")[-1]

Đã trả lời ngày 16 tháng 1 năm 2013 lúc 14:17Jan 16, 2013 at 14:17

Hướng dẫn how to pass file path as command line arguments in python - cách chuyển đường dẫn tệp dưới dạng đối số dòng lệnh trong python

AtoztoaatoztoaATOzTOA

33.7K22 Huy hiệu vàng93 Huy hiệu bạc116 Huy hiệu đồng22 gold badges93 silver badges116 bronze badges

main.py

import os
os.system('python3 test.py 1 2 3')

Tệp chính của chương trình khác

test.py

import sys

print('Number of arguments:', len(sys.argv), 'arguments.')
print('Argument List:', str(sys.argv))

Đầu ra

Number of arguments: 4 arguments.
Argument List: ['test.py', '1', '2', '3']

Chạy main.py chạy tệp test.py với các đối số.

Hướng dẫn how to pass file path as command line arguments in python - cách chuyển đường dẫn tệp dưới dạng đối số dòng lệnh trong python

Kiểm tra câu trả lờiBest Answer

Làm thế nào bạn nhập đường dẫn tệp vào dấu nhắc lệnh? & nbsp; mã của bạn hoạt động rất tốt cho tôi, vì vậy tôi nghĩ có lẽ đó là cách bạn chạy nó; Tất cả các công cụ Argparse là tốt. & nbsp; đây là những gì tôi có chính xác:

Python

# As you can see, this is pretty much identical to your code
from argparse import ArgumentParser
parser = ArgumentParser()
parser.add_argument("-f", "--file", dest="myFile", help="Open specified file")
args = parser.parse_args()
myFile = args.myFile

# This is the one part I added (the read() call)
text = open(myFile)
print(text.read())

# Then in the command prompt I navigated to the script folder and did it like this:
# my_script.py -f "C:\path\to\my\file to read.py"

Hy vọng điều đó sẽ giúp.

Bài đăng này có hữu ích không? Thumb_Up Thumb_down thumb_up thumb_down

Làm cách nào để vượt qua đường dẫn tệp trong Python?

Để sử dụng nó, bạn chỉ cần chuyển một đường dẫn hoặc tên tệp vào một đối tượng đường dẫn mới () bằng cách sử dụng dấu gạch chéo về phía trước và nó xử lý phần còn lại: Lưu ý hai điều ở đây: bạn nên sử dụng dấu gạch chéo về phía trước với các hàm pathlib. Đối tượng đường dẫn () sẽ chuyển đổi các dấu gạch chéo về phía trước thành đúng loại chém cho hệ điều hành hiện tại.pass a path or filename into a new Path() object using forward slashes and it handles the rest: Notice two things here: You should use forward slashes with pathlib functions. The Path() object will convert forward slashes into the correct kind of slash for the current operating system.

Làm thế nào để bạn truyền một tệp như một đối số trong Python?

Tóm lại, các bước để thực thi một tệp với các đối số từ trong tập lệnh Python là:..
Nhập mô -đun phụ ..
Chuẩn bị các đối số dòng lệnh của bạn ở định dạng danh sách.Mô -đun Shlex có thể hỗ trợ phân tích các dòng lệnh phức tạp ..
Thực hiện cuộc gọi đến quy trình con chức năng.run () và chuyển nó danh sách đối số dưới dạng tham số ..

Làm thế nào để bạn đưa ra một đường dẫn đến một biến trong Python?

Nhấp chuột phải vào máy tính của tôi và nhấp vào các thuộc tính ..
Nhấp vào cài đặt hệ thống nâng cao ..
Nhấp vào tab biến môi trường ..
Nhấp vào tab mới của các biến người dùng ..
Viết đường dẫn trong tên biến ..
Sao chép đường dẫn của thư mục Python ..
PASTE PATH của python trong giá trị biến.Nhấp vào nút OK: Nhấp vào nút OK:.

Làm thế nào để tôi đưa ra một con đường đến một thư mục trong Python?

Để thay đổi thư mục làm việc hiện tại trong Python, hãy sử dụng phương thức chdir ().Phương thức chấp nhận một đối số, đường dẫn đến thư mục mà bạn muốn thay đổi.Đối số đường dẫn có thể là tuyệt đối hoặc tương đối.use the chdir() method. The method accepts one argument, the path to the directory to which you want to change. The path argument can be absolute or relative.