Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

Bạn có thể sử dụng nhiều cách để tạo một tệp nếu nó không tồn tại. Cách phổ biến nhất là sử dụng hàm Open () và vượt qua các chế độ khác nhau theo yêu cầu của bạn. Các cách khác đang sử dụng mô -đun Pathlib hoặc mô -đun HĐH và kiểm tra điều kiện hiện có của tệp. Trong hướng dẫn này, chúng tôi sẽ sử dụng phương pháp mở () và cách tiếp cận mô -đun pathlib.In this tutorial, we will use the open() method approach and the pathlib module’s approach.

Để tạo một tệp nếu không tồn tại trong Python, hãy sử dụng hàm Open (). Open () là hàm Python tích hợp mở tệp và trả về nó dưới dạng đối tượng tệp. Open () lấy đường dẫn tệp và chế độ làm đầu vào và trả về đối tượng tệp làm đầu ra.

Cú pháp của Open ()

open(file, mode)

Tranh luận

Tệp: Đó là đường dẫn và tên của một tệp. It is the path and name of a file.

Chế độ: & nbsp; hàm open () có một trong các chế độ sau.The open() function takes one of the following modes.

  1. W: Nó là cho chế độ ghi.: It is for write mode.
  2. R: Nó dành cho chế độ đọc.: It is for reading mode.
  3. A: Nó dành cho chế độ phụ lục.: It is for append mode.
  4. W+: Tạo tệp nếu nó không tồn tại và sau đó mở nó ở chế độ ghi.: Create the file if it does not exist and then open it in write mode.
  5. R+: Mở tệp trong chế độ đọc và ghi.: Open the file in the read and write mode.
  6. A+: Tạo tệp nếu nó không tồn tại và mở nó ở chế độ nối.: Create the file if it does not exist and open it in append mode.

Đây là các chế độ khác nhau bạn có thể sử dụng trong khi tạo một tệp mới.

Nếu bạn chuyển A+, hãy thêm văn bản vào tệp hoặc tạo nó trước nếu nó không tồn tại.a+, add the text to the file or create it first if it does not exist.

Chế độ W+ sẽ cắt giảm tệp và sau đó mở nó ở chế độ ghi, vì vậy nếu chúng ta không muốn tệp được cắt, chúng ta nên sử dụng chế độ A+.w+ mode will truncate the file and then open it in write mode, so if we do not want the file to be trimmed, we should use the a+ mode.

file = open('data.py','a+')

Nếu bạn chạy mã trên, nó sẽ tạo một tệp có tên & nbsp; data.py. Tệp không tồn tại trước đây, nhưng nó đã tạo sau khi chúng tôi chạy mã. Nếu tệp tồn tại và đã có nội dung, thì A+ won đã xóa nội dung.data.py. The file did not exist previously, but it has created after we ran the code. If the file exists and already has content, then a+ won’t remove the content.

Để cắt giảm tệp trong khi tạo tệp mới, hãy sử dụng chế độ W+ trong hàm Open ().w+ mode in the open() function.

Chúng tôi viết một số mã bên trong tệp data.py và sau đó chạy tệp app.py có chế độ W+.data.py file and then run the app.py file with w+ mode.

file = open('data.py','w+')

Nếu bạn chạy mã trên, nó sẽ cắt tệp.

W cắt cụt tệp hiện có. Tài liệu: Các chế độ ‘R+,‘ W+, và ‘A+Mở tệp để cập nhật.

Một điều cần lưu ý là A+ tạo một tệp nếu nó không tồn tại và, chủ yếu, tìm kiếm tệp đến cuối. Vì vậy, nếu bạn đọc ngay sau khi mở theo cách này, bạn sẽ không nhận được gì.

Tạo tệp nếu nó không tồn tại bằng cách sử dụng touch ()

Có một cách nữa để tạo một tệp nếu nó không tồn tại bằng phương thức Touch () của mô -đun pathlib & nbsp; Phương thức Path.Touch () tạo tệp tại đường dẫn được chỉ định.pathlib module. The path.touch() method creates the file at the specified path.

from pathlib import Path

fle = Path('data.py')
fle.touch(exist_ok=True)
f = open(fle)

Nếu tập tin đã tồn tại, thì nó đã giành được bất cứ điều gì. Nếu không, nó sẽ tạo một tệp mới.

Đó là nó cho hướng dẫn này.

Xem thêm

Tệp Python đọc

Python grep

Xử lý tập tin Python

Cách tốt nhất để mở một tệp như đọc/ghi nếu nó tồn tại, hoặc nếu nó không, sau đó tạo nó và mở nó dưới dạng đọc/viết? Từ những gì tôi đọc,

file = open('data.py','w+')
0 nên làm điều này, phải không?

Nó không hoạt động cho tôi (Python 2.6.2) và tôi tự hỏi liệu đó có phải là vấn đề phiên bản hay không nên làm việc như vậy hay không.

Điểm mấu chốt là, tôi chỉ cần một giải pháp cho vấn đề. Tôi tò mò về những thứ khác, nhưng tất cả những gì tôi cần là một cách tốt đẹp để thực hiện phần mở đầu.

Thư mục kèm theo có thể ghi được bởi người dùng và nhóm, không phải khác (tôi đang ở trên hệ thống Linux ... vì vậy quyền 775 nói cách khác) và lỗi chính xác là:

Ioerror: Không có tệp hoặc thư mục như vậy.

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

Tế bào thần kinh

4.7124 Huy hiệu vàng33 Huy hiệu bạc54 Huy hiệu Đồng4 gold badges33 silver badges54 bronze badges

Đã hỏi ngày 3 tháng 6 năm 2010 lúc 15:05Jun 3, 2010 at 15:05

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

4

Bạn nên sử dụng

file = open('data.py','w+')
1 với chế độ
file = open('data.py','w+')
2:

file = open('myfile.dat', 'w+')

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

Igor Chubin

59.1k10 Huy hiệu vàng117 Huy hiệu bạc139 Huy hiệu đồng10 gold badges117 silver badges139 bronze badges

Đã trả lời ngày 3 tháng 6 năm 2010 lúc 15:12Jun 3, 2010 at 15:12

muksiemksiemuksie

Huy hiệu vàng 12K11 gold badge18 silver badges14 bronze badges

10

Ưu điểm của cách tiếp cận sau là tệp được đóng đúng ở đầu của khối, ngay cả khi một ngoại lệ được nâng lên trên đường. Nó tương đương với

file = open('data.py','w+')
3, nhưng ngắn hơn nhiều.properly closed at the block's end, even if an exception is raised on the way. It's equivalent to
file = open('data.py','w+')
3, but much shorter.

with open("file.dat","a+") as f:
    f.write(...)
    ...

A+ mở một tập tin cho cả nối tiếp và đọc. Con trỏ tệp ở cuối tệp nếu tệp tồn tại. Tệp mở trong chế độ phụ lục. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để đọc và ghi. Chế độ tệp -Python Opens a file for both appending and reading. The file pointer is at the end of the file if the file exists. The file opens in the append mode. If the file does not exist, it creates a new file for reading and writing. -Python file modes

Phương thức Seek () đặt vị trí hiện tại của tệp.

f.seek(pos [, (0|1|2)])
pos .. position of the r/w pointer
[] .. optionally
() .. one of ->
  0 .. absolute position
  1 .. relative position to current
  2 .. relative position from end

Chỉ được phép các ký tự "RWAB+"; Phải có chính xác một trong những "RWA" - xem Stack & nbsp; Overflow Câu hỏi chi tiết chế độ tệp Python.

Đã trả lời ngày 12 tháng 3 năm 2013 lúc 11:06Mar 12, 2013 at 11:06

QWERTYQWERTYQwerty

26.4K21 Huy hiệu vàng103 Huy hiệu bạc127 Huy hiệu đồng21 gold badges103 silver badges127 bronze badges

8

'''
w  write mode
r  read mode
a  append mode

w+  create file if it doesn't exist and open it in write mode
r+  open for reading and writing. Does not create file.
a+  create file if it doesn't exist and open it in append mode
'''

example:

file_name = 'my_file.txt'
f = open(file_name, 'w+')  # open file in write mode
f.write('python rules')
f.close()

[FYI đang sử dụng Python phiên bản 3.6.2]

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

bad_coder

9.82620 Huy hiệu vàng40 Huy hiệu bạc64 Huy hiệu đồng20 gold badges40 silver badges64 bronze badges

Đã trả lời ngày 30 tháng 12 năm 2017 lúc 16:26Dec 30, 2017 at 16:26

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

1

Thực hành tốt là sử dụng như sau:

import os

writepath = 'some/path/to/file.txt'

mode = 'a' if os.path.exists(writepath) else 'w'
with open(writepath, mode) as f:
    f.write('Hello, world!\n')

Đã trả lời ngày 4 tháng 5 năm 2015 lúc 1:49May 4, 2015 at 1:49

LollerCoasterLollerCoasterlollercoaster

15.3k34 Huy hiệu vàng108 Huy hiệu bạc169 Huy hiệu đồng34 gold badges108 silver badges169 bronze badges

2

Thay đổi "RW" thành "W+"

Hoặc sử dụng 'A+' để nối thêm (không xóa nội dung hiện có)

Đã trả lời ngày 3 tháng 6 năm 2010 lúc 15:12Jun 3, 2010 at 15:12

muksiemksiebaloo

Huy hiệu vàng 12K14 gold badges25 silver badges35 bronze badges

0

Ưu điểm của cách tiếp cận sau là tệp được đóng đúng ở đầu của khối, ngay cả khi một ngoại lệ được nâng lên trên đường. Nó tương đương với

file = open('data.py','w+')
3, nhưng ngắn hơn nhiều.
It is a much more elegant solution than the proposed ones in this thread.

A+ mở một tập tin cho cả nối tiếp và đọc. Con trỏ tệp ở cuối tệp nếu tệp tồn tại. Tệp mở trong chế độ phụ lục. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để đọc và ghi. Chế độ tệp -Python

Phương thức Seek () đặt vị trí hiện tại của tệp.

file = open('data.py','a+')
1

Chỉ được phép các ký tự "RWAB+"; Phải có chính xác một trong những "RWA" - xem Stack & nbsp; Overflow Câu hỏi chi tiết chế độ tệp Python.Apr 23, 2018 at 6:29

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

Đã trả lời ngày 12 tháng 3 năm 2013 lúc 11:06Granitosaurus

QWERTYQWERTY4 gold badges53 silver badges76 bronze badges

6

file = open('data.py','a+')
2

26.4K21 Huy hiệu vàng103 Huy hiệu bạc127 Huy hiệu đồng

[FYI đang sử dụng Python phiên bản 3.6.2]Jun 3, 2010 at 15:18

9.82620 Huy hiệu vàng40 Huy hiệu bạc64 Huy hiệu đồngKhorkrak

Đã trả lời ngày 30 tháng 12 năm 2017 lúc 16:261 gold badge26 silver badges34 bronze badges

3

Thực hành tốt là sử dụng như sau:

file = open('data.py','a+')
3

Đã trả lời ngày 4 tháng 5 năm 2015 lúc 1:49May 27, 2014 at 6:20

LollerCoasterLollerCoasterChien-Wei Huang

15.3k34 Huy hiệu vàng108 Huy hiệu bạc169 Huy hiệu đồng1 gold badge17 silver badges27 bronze badges

Use:

file = open('data.py','a+')
4

Thay đổi "RW" thành "W+"

Hoặc sử dụng 'A+' để nối thêm (không xóa nội dung hiện có)Feb 2, 2015 at 19:36

Baloobaloo

7.5174 Huy hiệu vàng25 Huy hiệu bạc35 Huy hiệu Đồng

Vì Python 3.4, bạn nên sử dụng

file = open('data.py','w+')
4 để "chạm vào". Đó là một giải pháp thanh lịch hơn nhiều so với những giải pháp được đề xuất trong chủ đề này.

file = open('data.py','a+')
0Jan 30, 2021 at 0:27

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

2

Điều tương tự với các thư mục:

Đã trả lời ngày 23 tháng 4 năm 2018 lúc 6:29

file = open('data.py','a+')
6

Granitosaurusgranitosaurus

Huy hiệu vàng 19.7K453 Huy hiệu bạc76 Hàng đồngJun 3, 2010 at 15:11

R+ có nghĩa là đọc/viếtSilentGhost

Đã trả lời ngày 3 tháng 6 năm 2010 lúc 15:1864 gold badges302 silver badges291 bronze badges

Khorkrakkhorkrak

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

Tế bào thần kinh

4.7124 Huy hiệu vàng33 Huy hiệu bạc54 Huy hiệu Đồng4 gold badges33 silver badges54 bronze badges

Đã hỏi ngày 3 tháng 6 năm 2010 lúc 15:05Jun 22, 2013 at 12:16

Bạn nên sử dụng

file = open('data.py','w+')
1 với chế độ
file = open('data.py','w+')
2:

Igor Chubin

59.1k10 Huy hiệu vàng117 Huy hiệu bạc139 Huy hiệu đồng

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

Tế bào thần kinh

4.7124 Huy hiệu vàng33 Huy hiệu bạc54 Huy hiệu Đồng4 gold badges33 silver badges54 bronze badges

Đã hỏi ngày 3 tháng 6 năm 2010 lúc 15:05Jun 3, 2010 at 15:29

user49117user49117user49117

Bạn nên sử dụng

file = open('data.py','w+')
1 với chế độ
file = open('data.py','w+')
2:3 silver badges9 bronze badges

2

Igor Chubin

59.1k10 Huy hiệu vàng117 Huy hiệu bạc139 Huy hiệu đồngOct 11, 2015 at 20:10

Gustavo6046Gustavo6046Gustavo6046

Đã trả lời ngày 3 tháng 6 năm 2010 lúc 15:128 silver badges17 bronze badges

muksiemksie

file = open('data.py','a+')
7

Đã trả lời ngày 12 tháng 1 năm 2018 lúc 13:26Jan 12, 2018 at 13:26

Vì vậy, bạn muốn viết dữ liệu vào một tệp, nhưng chỉ khi nó không tồn tại ?.

Vấn đề này dễ dàng được giải quyết bằng cách sử dụng chế độ X ít được biết đến để mở () thay vì chế độ W thông thường.Ví dụ:

file = open('data.py','a+')
8

Nếu tệp là chế độ nhị phân, hãy sử dụng chế độ XB thay vì XT.

Đã trả lời ngày 14 tháng 12 năm 2017 lúc 13:58Dec 14, 2017 at 13:58

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

0

file = open('data.py','a+')
9

Đã trả lời ngày 8 tháng 8 năm 2018 lúc 5:45Aug 8, 2018 at 5:45

Hướng dẫn how do you create a new file if it doesnt exist in python? - làm thế nào để bạn tạo một tệp mới nếu nó không tồn tại trong python?

Chế độ nào tạo ra một tệp mới nếu tệp không tồn tại trong Python?

Nếu một tệp không tồn tại, chế độ nối sẽ tạo tệp.Lưu ý: Sự khác biệt chính giữa các chế độ ghi và phụ lục là phần phụ không xóa nội dung của tệp.append mode creates the file. Note: The key difference between write and append modes is that append does not clear a file's contents.

Chế độ nào được sử dụng để tạo tệp mới nếu tệp không tồn tại?

"W" - Viết - sẽ tạo một tệp nếu tệp được chỉ định không tồn tại. - will create a file if the specified file does not exist.

Điều gì xảy ra nếu tập tin không được tìm thấy trong Python?

Nếu bạn tham khảo một tệp không tồn tại, Python sẽ trả về lỗi.Python will return an error.

Mở tệp có tạo không nếu không tồn tại Python?

Open () trong Python không tạo một tệp nếu nó không tồn tại.does not create a file if it doesn't exist.