Hướng dẫn how do you pass a path as an argument in python? - làm thế nào để bạn chuyển một đường dẫn như một đối số trong python?

25

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

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 do you pass a path as an argument in python? - làm thế nào để bạn chuyển một đường dẫn như một đối số trong python?

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

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 do you pass a path as an argument in python? - làm thế nào để bạn chuyển một đường dẫn như một đối số 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 -h 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 (--outputDirectory).

Bây giờ bạn có thể chỉ cần thực thi với python3 test.py /home/test.txt --outputDirectory /home/testDir/

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 do you pass a path as an argument in python? - làm thế nào để bạn chuyển một đường dẫn như một đối số 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 do you pass a path as an argument in python? - làm thế nào để bạn chuyển một đường dẫn như một đối số 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 do you pass a path as an argument in python? - làm thế nào để bạn chuyển một đường dẫn như một đối số trong python?

AtoztoaatoztoaATOzTOA

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

Hướng dẫn how do you pass a path as an argument in python? - làm thế nào để bạn chuyển một đường dẫn như một đối số 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 thế nào để bạn chuyển một đường dẫn đến một tham số 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 đưa ra một con đường trong Python?

Đường dẫn sẽ được đặt để thực hiện các chương trình 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 of Python trong giá trị biến đổi ..

Con đường () làm gì trong Python?

Dirname (đường dẫn): Nó được sử dụng để trả về tên thư mục từ đường dẫn được đưa ra.Hàm này trả về tên từ đường dẫn ngoại trừ tên đường dẫn.return the directory name from the path given. This function returns the name from the path except the path name.

Làm thế nào để bạn viết tên đường dẫn trong Python?

Đường dẫn thư mục sử dụng một dấu gạch chéo về phía trước mà không đề cập đến hệ điều hành.Windows sử dụng dấu gạch chéo ngược để biểu thị các thư mục con, trong khi Linux sử dụng dấu gạch chéo phía trước.Nhưng trong Python, các dấu gạch chéo về phía trước luôn hoạt động, ngay cả trên Windows.forward slashes always work, even on Windows.