Vì vậy, tôi đang tạo một chương trình lấy một tệp văn bản, chia nó thành từ, sau đó viết danh sách vào một tệp văn bản mới.
Vấn đề tôi đang gặp phải là tôi cần các chuỗi trong danh sách để được trích dẫn đôi không phải là trích dẫn đơn.
Ví dụ
Tôi nhận được điều này str(words).replace("'", '"') 3 khi tôi muốn str(words).replace("'", '"') 4 này
Đây là mã của tôi
with open('input.txt') as f: file = f.readlines() nonewline = [] for x in file: nonewline.append(x[:-1]) words = [] for x in nonewline: words = words + x.split() textfile = open('output.txt','w') textfile.write(str(words))Tôi chưa quen với Python và không tìm thấy bất cứ điều gì về điều này. có ai biết cách giải quyết cái này không?
[Chỉnh sửa: Tôi quên đề cập rằng tôi đã sử dụng đầu ra trong một dự án Arduino yêu cầu danh sách có báo giá kép.]
Đã hỏi ngày 12 tháng 2 năm 2017 lúc 2:06Feb 12, 2017 at 2:06
ThatokaythatsokayThatsOkay
4331 Huy hiệu vàng4 Huy hiệu bạc 6 Huy hiệu Đồng1 gold badge4 silver badges6 bronze badges
3
Bạn không thể thay đổi cách str(words).replace("'", '"') 5 hoạt động cho str(words).replace("'", '"') 6.
Làm thế nào về việc sử dụng định dạng JSON sử dụng str(words).replace("'", '"') 7 cho các chuỗi.
>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] import json ... textfile.write(json.dumps(words))Đã trả lời ngày 12 tháng 2 năm 2017 lúc 2:12Feb 12, 2017 at 2:12
Falsetrufalsetrufalsetru
346K60 Huy hiệu vàng692 Huy hiệu bạc614 Huy hiệu đồng60 gold badges692 silver badges614 bronze badges
8
Nhiều khả năng bạn sẽ muốn thay thế các trích dẫn duy nhất bằng dấu ngoặc kép trong đầu ra của bạn bằng cách thay thế chúng:
str(words).replace("'", '"')Bạn cũng có thể mở rộng loại str(words).replace("'", '"') 5 của Python và bọc các chuỗi của bạn bằng loại mới Thay đổi phương thức str(words).replace("'", '"') 9 để sử dụng dấu ngoặc kép thay vì đơn. Tuy nhiên, tốt hơn là đơn giản và rõ ràng hơn với mã ở trên.
class str2(str): def __repr__(self): # Allow str.__repr__() to do the hard work, then # remove the outer two characters, single quotes, # and replace them with double quotes. return ''.join(('"', super().__repr__()[1:-1], '"')) >>> "apple" 'apple' >>> class str2(str): ... def __repr__(self): ... return ''.join(('"', super().__repr__()[1:-1], '"')) ... >>> str2("apple") "apple" >>> str2('apple') "apple"Đã trả lời ngày 12 tháng 2 năm 2017 lúc 2:28Feb 12, 2017 at 2:28
HarveyharveyHarvey
5.5331 Huy hiệu vàng31 Huy hiệu bạc40 Huy hiệu đồng1 gold badge31 silver badges40 bronze badges
Trong Python, trích dẫn kép và trích dẫn đơn là như nhau. Không có gì khác biệt giữa họ. Và không có điểm nào để thay thế một báo giá bằng một trích dẫn kép và ngược lại:
2.4.1. Chuỗi và byte theo nghĩa đen
... bằng tiếng Anh đơn giản: Cả hai loại chữ có thể được đặt trong các trích dẫn đơn (') hoặc trích dẫn kép ("). Chúng cũng có thể được đặt trong các nhóm phù hợp của ba trích dẫn đơn hoặc đôi (chúng thường được gọi là ba -quoted String). Ký tự dấu gạch chéo ngược () được sử dụng để thoát khỏi các ký tự có ý nghĩa đặc biệt, chẳng hạn như Newline, chính bản sao lại hoặc ký tự trích dẫn ...
"Vấn đề tôi đang gặp phải là tôi cần các chuỗi trong danh sách với các trích dẫn kép không phải là trích dẫn đơn." - Sau đó, bạn cần làm cho chương trình của bạn chấp nhận các trích dẫn đơn, không cố gắng thay thế các trích dẫn đơn bằng trích dẫn kép.
Đã trả lời ngày 12 tháng 2 năm 2017 lúc 2:13Feb 12, 2017 at 2:13
Huy Vohuy VoHuy Vo
2.3546 huy hiệu vàng27 Huy hiệu bạc43 Huy hiệu đồng6 gold badges27 silver badges43 bronze badges
1
- Trích dẫn duy nhất để trích dẫn đôi và ngược lại
- Sử dụng hàm str.replace ()
- Sử dụng hàm sub () trong gói re
- Sử dụng str.maketrans ()
- Sử dụng mô -đun Python JSON
- Dấu ngoặc kép trong python
- Thay thế các trích dẫn duy nhất trong Python bằng Double và Versa [Giải thích chi tiết]
- Phương pháp 1: Sử dụng hàm str.replace ()
- Phương pháp 2: Sử dụng hàm Sub () trong gói Re
- Phương pháp 3: Sử dụng hàm dịch () trong Python
- Phương pháp 4: Sử dụng mô -đun JSON
Trong Python, các chuỗi được bao quanh với các quote đơn hoặc kép. Báo giá đơn có thể được thay thế bằng dấu ngoặc kép và ngược lại trong Python bằng bất kỳ phương pháp nào sau đây:
Nội dung
- 1 trích dẫn duy nhất cho báo giá đôi và ngược lại Single Quotes to Double Quotes and Vice Versa
- 1.1 Sử dụng hàm str.replace () Using str.replace() function
- 1.2 sử dụng hàm Sub () trong gói re Using sub() function in re package
- 1.3 Sử dụng str.maketrans () Using str.maketrans()
- 1.4 Sử dụng mô -đun Python JSON Using the Python JSON module
- 2 dấu ngoặc kép trong Python Quotation Marks in Python
- 3 Thay thế các trích dẫn đơn trong Python bằng Double và Versa [Giải thích chi tiết] Replace Single Quotes in Python With Double and Vice Versa [detailed explanation]
- 3.1 Phương pháp 1: Sử dụng hàm str.replace () Method 1: Using the str.replace() function
- 3.2 Phương pháp 2: Sử dụng hàm Sub () trong gói Re Method 2: Using the sub() function in re package
- 3.3 Phương pháp 3: Sử dụng hàm dịch () trong Python Method 3: Using translate() function in Python
- 3.4 Phương pháp 4: Sử dụng mô -đun JSON Method 4: Using the JSON module
Trích dẫn duy nhất để trích dẫn đôi và ngược lại
Sử dụng hàm str.replace ()
str1 = "This 'is 'an example string" a = str1.replace("'", "\"") print(a)Output:
This "is "an example" stringSử dụng hàm sub () trong gói re
import re str1 = 'This is an "embedded quote" inside main string.' str1_replaced = re.sub("\"", "'", str1) print(str1_replaced)Output:
This is an 'embedded quote' inside main string.Sử dụng str.maketrans ()
string_trans = "'Good\", 'day" # Hope you know why we had to escape (\) double quotes and not single # Discussed earlier stringn1 = string_trans.translate(str.maketrans({'"': '\'', "'": "\""})) print(stringn1)Output:
>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] 0Sử dụng mô -đun Python JSON
Dấu ngoặc kép trong python
>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] 1Output:
>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] 2Thay thế các trích dẫn duy nhất trong Python bằng Double và Versa [Giải thích chi tiết]
Dấu ngoặc kép trong python
Thay thế các trích dẫn duy nhất trong Python bằng Double và Versa [Giải thích chi tiết]
>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] 3Output:
>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] 4>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] 5Output:
>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] 6Phương pháp 1: Sử dụng hàm str.replace ()
Phương pháp 2: Sử dụng hàm Sub () trong gói Re
>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] 7Output:
>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] 8Phương pháp 3: Sử dụng hàm dịch () trong Python
Phương pháp 4: Sử dụng mô -đun JSON
>>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"] 9Output:
import json ... textfile.write(json.dumps(words)) 0Thay thế các trích dẫn duy nhất trong Python bằng Double và Versa [Giải thích chi tiết]
Phương pháp 1: Sử dụng hàm str.replace ()str.replace(), or re.sub(). The inbuilt json package can be used to replace single quotes with a double on a list of strings.
Phương pháp 2: Sử dụng hàm Sub () trong gói Re Replacing quotes in this article means replacing quotation marks within a valid string and not replacing the quotes enclosing the string itself.
Phương pháp 1: Sử dụng hàm str.replace ()
import json ... textfile.write(json.dumps(words)) 1Output:
import json ... textfile.write(json.dumps(words)) 2import json ... textfile.write(json.dumps(words)) 3Output:
import json ... textfile.write(json.dumps(words)) 4Phương pháp 2: Sử dụng hàm Sub () trong gói Re
Phương pháp 3: Sử dụng hàm dịch () trong Pythonre package in Python captures patterns in strings using regular expressions. The re.sub() function comes in handy in our application. It can be used to find and substitute substrings within the main string. Here are some examples of how re. sub() can be used.
import json ... textfile.write(json.dumps(words)) 5Output:
import json ... textfile.write(json.dumps(words)) 6Phương pháp 3: Sử dụng hàm dịch () trong Python
Phương pháp 4: Sử dụng mô -đun JSON
import json ... textfile.write(json.dumps(words)) 7Output:
import json ... textfile.write(json.dumps(words)) 8Trong Python, các chuỗi được bao quanh với các quote đơn hoặc kép. Báo giá đơn có thể được thay thế bằng dấu ngoặc kép và ngược lại trong Python bằng bất kỳ phương pháp nào sau đây:
Phương pháp 4: Sử dụng mô -đun JSON
Trong Python, các chuỗi được bao quanh với các quote đơn hoặc kép. Báo giá đơn có thể được thay thế bằng dấu ngoặc kép và ngược lại trong Python bằng bất kỳ phương pháp nào sau đây:
import json ... textfile.write(json.dumps(words)) 9Output:
str(words).replace("'", '"') 0str(words).replace("'", '"') 1Output:
str(words).replace("'", '"') 2Nội dung