Làm cách nào để tìm đường dẫn của tệp python trong windows?

Các hệ điều hành như Windows, Linux hoặc macOS có các cấu trúc đường dẫn khác nhau trong đó các tệp hệ điều hành được lưu trữ

Do đó, khi bạn chạy tập lệnh Python trên các máy này và muốn tìm nạp tệp hoặc thư mục, bạn muốn tự động tìm đường dẫn tuyệt đối của tệp so với thư mục hiện tại thay vì mã hóa cứng nó cho mọi hệ thống

Đường dẫn tuyệt đối còn được gọi là đường dẫn đầy đủ và bắt đầu bằng / trong Linux và macOS và C:/ trên Windows

Để tìm một đường dẫn tuyệt đối trong Python, bạn nhập mô-đun os, sau đó bạn có thể tìm thấy thư mục làm việc hiện tại bằng cách sử dụng os.path.abspath["insert-file-name-here"] trong tập lệnh Python của mình

Mục lục

1

Đường dẫn tuyệt đối trong Python là gì?

Đường dẫn tuyệt đối trong Python là đường dẫn đầy đủ bắt đầu từ thư mục gốc của hệ thống tệp điều hành cho đến thư mục làm việc

Vì vậy, giả sử bạn chạy mã Python của mình trong /Users/dannysteenman/home/projects/example-project/app.py. Đây là điểm vào nơi bạn chạy mã cấp cao nhất của mô-đun python của mình

Sau đó, đây là đường dẫn tuyệt đối của thư mục làm việc của bạn /Users/dannysteenman/home/projects/example-project/

Cách tìm đường dẫn tuyệt đối trong Python

Như đã đề cập ở đầu bài viết này, bạn có thể chạy ứng dụng Python của mình trên các hệ điều hành khác nhau, do đó bạn muốn tự động tìm đường dẫn đầy đủ của tệp bạn muốn nhập trong mã của mình thay vì mã hóa cứng nó

Vì vậy, với một đường dẫn chẳng hạn như "src/examplefile.txt", làm thế nào để bạn tìm thấy đường dẫn tuyệt đối của tệp so với thư mục làm việc hiện tại [/Users/dannysteenman/home/projects/example-project/] trong Python?

Để có được đường dẫn tuyệt đối trong Python, bạn viết đoạn mã sau

import os

os.path.abspath["src/examplefile.txt"]

Để giải thích mã Python. trước tiên, bạn phải nhập mô-đun os bằng Python để bạn có thể chạy các chức năng của hệ điều hành trong mã của mình

Sau đó, bạn sử dụng thư viện

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
1 để trả về phiên bản chuẩn hóa tuyệt đối của đường dẫn tên đường dẫn

Điều này sẽ dẫn đến đầu ra sau

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt

Phần kết luận

Như bạn có thể thấy, đường dẫn tuyệt đối giúp bạn tìm đường dẫn đầy đủ của tệp hoặc thư mục so với thư mục làm việc hiện tại. Điều này rất hữu ích vì bạn có thể linh hoạt tìm tệp hoặc thư mục và trả về đường dẫn chính xác trên các hệ điều hành khác nhau

Để có đường dẫn tuyệt đối trong Python, bạn sử dụng thư viện

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
2. Chèn tên tệp của bạn và nó sẽ trả về đường dẫn đầy đủ tương đối từ thư mục làm việc bao gồm tệp

Có hai mô-đun chính trong Python xử lý thao tác đường dẫn. Một là mô-đun

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 và mô-đun kia là mô-đun
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5

hệ điều hành. đường dẫn VS pathlib

Mô-đun `pathlib` đã được thêm vào Python 3. 4, cung cấp một cách hướng đối tượng để xử lý các đường dẫn hệ thống tệp

Đường dẫn Linux và Windows

Trên Windows, các đường dẫn được viết bằng dấu gạch chéo ngược [

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
6] làm dấu phân cách giữa các tên thư mục. Trên hệ điều hành dựa trên Unix như macOS, Linux và BSD, dấu gạch chéo lên [
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
7] được sử dụng làm dấu phân cách đường dẫn. Tham gia các đường dẫn có thể gây đau đầu nếu mã của bạn cần hoạt động trên các nền tảng khác nhau

May mắn thay, Python cung cấp những cách dễ dàng để xử lý việc này. Chúng tôi sẽ giới thiệu cách đối phó với cả hai,

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
8 và
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
9

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
8 trên Windows

>>> import os

>>> os.path.join['usr', 'bin', 'spam']
# 'usr\\bin\\spam'

Và sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 cũng cung cấp lối tắt đến đường nối bằng cách sử dụng toán tử
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
7

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam

Lưu ý rằng dấu tách đường dẫn khác nhau giữa hệ điều hành dựa trên Windows và Unix, đó là lý do tại sao bạn muốn sử dụng một trong các phương pháp trên thay vì thêm các chuỗi lại với nhau để nối các đường dẫn với nhau

Tham gia các đường dẫn rất hữu ích nếu bạn cần tạo các đường dẫn tệp khác nhau trong cùng một thư mục

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
8 trên Windows

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> home = Path.home[]
>>> for filename in my_files:
...     print[home / filename]
...
# /home/asweigart/accounts.txt
# /home/asweigart/details.csv
# /home/asweigart/invite.docx

Thư mục làm việc hiện tại

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> home = Path.home[]
>>> for filename in my_files:
...     print[home / filename]
...
# /home/asweigart/accounts.txt
# /home/asweigart/details.csv
# /home/asweigart/invite.docx
6 trên Windows

>>> import os

>>> os.getcwd[]
# 'C:\\Python34'
>>> os.chdir['C:\\Windows\\System32']

>>> os.getcwd[]
# 'C:\\Windows\\System32'

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path
>>> from os import chdir

>>> print[Path.cwd[]]
# /home/asweigart

>>> chdir['/usr/lib/python3.6']
>>> print[Path.cwd[]]
# /usr/lib/python3.6

Tạo thư mục mới

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']
>>> home = Path.home[]
>>> for filename in my_files:
...     print[home / filename]
...
# /home/asweigart/accounts.txt
# /home/asweigart/details.csv
# /home/asweigart/invite.docx
6 trên Windows

>>> import os
>>> os.makedirs['C:\\delicious\\walnut\\waffles']

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path
>>> cwd = Path.cwd[]
>>> [cwd / 'delicious' / 'walnut' / 'waffles'].mkdir[]
# Traceback [most recent call last]:
#   File "", line 1, in 
#   File "/usr/lib/python3.6/pathlib.py", line 1226, in mkdir
#     self._accessor.mkdir[self, mode]
#   File "/usr/lib/python3.6/pathlib.py", line 387, in wrapped
#     return strfunc[str[pathobj], *args]
# FileNotFoundError: [Errno 2] No such file or directory: '/home/asweigart/delicious/walnut/waffles'

Ồ không, chúng tôi đã gặp một lỗi khó chịu. Lý do là thư mục 'ngon' không tồn tại, vì vậy chúng tôi không thể tạo các thư mục 'quả óc chó' và 'bánh quế' trong đó. Để khắc phục điều này, hãy làm

>>> from pathlib import Path
>>> cwd = Path.cwd[]
>>> [cwd / 'delicious' / 'walnut' / 'waffles'].mkdir[parents=True]

Và tất cả đều tốt. ]

tuyệt đối so với. đường dẫn tương đối

Có hai cách để chỉ định đường dẫn tệp

  • Một đường dẫn tuyệt đối, luôn bắt đầu với thư mục gốc
  • Một đường dẫn tương đối, có liên quan đến thư mục làm việc hiện tại của chương trình

Ngoài ra còn có các thư mục dot [

>>> import os

>>> os.getcwd[]
# 'C:\\Python34'
>>> os.chdir['C:\\Windows\\System32']

>>> os.getcwd[]
# 'C:\\Windows\\System32'
0] và dot-dot [
>>> import os

>>> os.getcwd[]
# 'C:\\Python34'
>>> os.chdir['C:\\Windows\\System32']

>>> os.getcwd[]
# 'C:\\Windows\\System32'
1]. Đây không phải là những thư mục thực, mà là những tên đặc biệt có thể được sử dụng trong một đường dẫn. Một dấu chấm ["dấu chấm"] cho tên thư mục là cách viết tắt của "thư mục này. ” Hai dấu chấm [“chấm-chấm”] có nghĩa là “thư mục mẹ. ”

Xử lý đường dẫn tuyệt đối

Để xem nếu một đường dẫn là một đường dẫn tuyệt đối

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
0

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
1

Bạn có thể trích xuất một đường dẫn tuyệt đối với cả

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 và
>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
2

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
3

Xử lý đường dẫn tương đối

Bạn có thể nhận được một đường dẫn tương đối từ một đường dẫn bắt đầu đến một đường dẫn khác

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
4

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
5

Tính hợp lệ của đường dẫn và tệp

Kiểm tra xem tệp/thư mục có tồn tại không

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
6

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
7

Kiểm tra xem đường dẫn có phải là tệp không

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
8

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'].joinpath['bin'].joinpath['spam']]
# usr/bin/spam
9

Kiểm tra xem đường dẫn có phải là thư mục không

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam
0

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam
1

Lấy kích thước của tệp theo byte

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
4 trên Windows

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam
2

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam
3

danh sách thư mục

Liệt kê nội dung thư mục bằng cách sử dụng

>>> from pathlib import Path
>>> from os import chdir

>>> print[Path.cwd[]]
# /home/asweigart

>>> chdir['/usr/lib/python3.6']
>>> print[Path.cwd[]]
# /usr/lib/python3.6
8 trên Windows

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam
4

Liệt kê nội dung thư mục bằng cách sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam
5

Kích thước tệp thư mục

CẢNH BÁO

Bản thân các thư mục cũng có kích thước. Vì vậy, bạn có thể muốn kiểm tra xem đường dẫn có phải là tệp hoặc thư mục hay không bằng cách sử dụng các phương thức trong các phương thức được thảo luận trong phần trên

Sử dụng đồng thời

>>> import os
>>> os.makedirs['C:\\delicious\\walnut\\waffles']
0 và
>>> import os
>>> os.makedirs['C:\\delicious\\walnut\\waffles']
1 trên Windows

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam
6

Sử dụng

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
5 trên *nix

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam
7

Sao chép tập tin và thư mục

Mô-đun

>>> import os
>>> os.makedirs['C:\\delicious\\walnut\\waffles']
3 cung cấp chức năng sao chép tệp, cũng như toàn bộ thư mục

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam
8

Trong khi

>>> import os
>>> os.makedirs['C:\\delicious\\walnut\\waffles']
4 sẽ sao chép một tệp duy nhất, thì
>>> import os
>>> os.makedirs['C:\\delicious\\walnut\\waffles']
5 sẽ sao chép toàn bộ thư mục và mọi thư mục và tệp có trong đó

>>> from pathlib import Path

>>> print[Path['usr'] / 'bin' / 'spam']
# usr/bin/spam
9

Di chuyển và đổi tên

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
0

Đường dẫn đích cũng có thể chỉ định tên tệp. Trong ví dụ sau, tệp nguồn được di chuyển và đổi tên

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
1

Nếu không có thư mục egg thì

>>> import os
>>> os.makedirs['C:\\delicious\\walnut\\waffles']
6 sẽ đổi tên thành bacon. txt vào một tệp có tên là egg

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
2

Xóa tập tin và thư mục

  • Gọi

    >>> import os
    >>> os.makedirs['C:\\delicious\\walnut\\waffles']
    
    7 hoặc
    >>> import os
    >>> os.makedirs['C:\\delicious\\walnut\\waffles']
    
    8 sẽ xóa tệp tại đường dẫn

  • Gọi

    >>> import os
    >>> os.makedirs['C:\\delicious\\walnut\\waffles']
    
    9 hoặc
    >>> from pathlib import Path
    >>> cwd = Path.cwd[]
    >>> [cwd / 'delicious' / 'walnut' / 'waffles'].mkdir[]
    # Traceback [most recent call last]:
    #   File "", line 1, in 
    #   File "/usr/lib/python3.6/pathlib.py", line 1226, in mkdir
    #     self._accessor.mkdir[self, mode]
    #   File "/usr/lib/python3.6/pathlib.py", line 387, in wrapped
    #     return strfunc[str[pathobj], *args]
    # FileNotFoundError: [Errno 2] No such file or directory: '/home/asweigart/delicious/walnut/waffles'
    
    0 sẽ xóa thư mục tại đường dẫn. Thư mục này phải trống bất kỳ tệp hoặc thư mục nào

  • Gọi

    >>> from pathlib import Path
    >>> cwd = Path.cwd[]
    >>> [cwd / 'delicious' / 'walnut' / 'waffles'].mkdir[]
    # Traceback [most recent call last]:
    #   File "", line 1, in 
    #   File "/usr/lib/python3.6/pathlib.py", line 1226, in mkdir
    #     self._accessor.mkdir[self, mode]
    #   File "/usr/lib/python3.6/pathlib.py", line 387, in wrapped
    #     return strfunc[str[pathobj], *args]
    # FileNotFoundError: [Errno 2] No such file or directory: '/home/asweigart/delicious/walnut/waffles'
    
    1 sẽ xóa thư mục tại đường dẫn và tất cả các tệp và thư mục chứa trong đó cũng sẽ bị xóa

Đi bộ trên cây thư mục

>>> my_files = ['accounts.txt', 'details.csv', 'invite.docx']

>>> for filename in my_files:
...     print[os.path.join['C:\\Users\\asweigart', filename]]
...
# C:\Users\asweigart\accounts.txt
# C:\Users\asweigart\details.csv
# C:\Users\asweigart\invite.docx
3

Mô-đun Pathlib vs Os

`pathlib` cung cấp nhiều chức năng hơn những chức năng được liệt kê ở trên, như lấy tên tệp, lấy phần mở rộng tệp, đọc/ghi tệp mà không cần mở tệp theo cách thủ công, v.v. Xem tài liệu chính thức nếu bạn muốn biết thêm

Đường dẫn Python trong Windows ở đâu?

Nó tương thích với tất cả các phiên bản hiện có của python. vị trí cài đặt py là C. \Windows\py. exe nếu được cài đặt cho tất cả người dùng, nếu không có thể tìm thấy tại C. \Users\username\AppData\Local\Programs\Python\Launcher.

Đường dẫn tệp Python ở đâu?

Để truy xuất tệp trong Python, bạn cần biết chính xác đường dẫn đến tệp, trong Windows, bạn có thể xem đường dẫn của tệp cụ thể bằng cách nhấp chuột phải vào Tệp- . .

Làm cách nào để kiểm tra đường dẫn trong Python?

Cái os. đường dẫn. Phương thức exists[] trong Python dùng để kiểm tra xem đường dẫn chỉ định có tồn tại hay không. Phương pháp này cũng có thể được sử dụng để kiểm tra xem đường dẫn đã cho có tham chiếu đến một bộ mô tả tệp đang mở hay không.

Chủ Đề