Hướng dẫn convert filename to string python - chuyển đổi tên tệp thành chuỗi python

Hướng dẫn convert filename to string python - chuyển đổi tên tệp thành chuỗi python

7 năm trước

Cố gắng tạo chức năng được gọi là parseExtension lấy tên tệp làm tham số chuỗi và trả về phần mở rộng tệp. Sẽ yêu cầu người dùng nhập tên tệp IE. Python.exe sau đó in phần mở rộng tệp. Tôi đã cố gắng chia văn bản và một số vấn đề cho tôi cho đến nay. Tôi đang sử dụng 2.7. tức là vui lòng nhập tên tệp của bạn: python.exe tiện ích mở rộng tệp của bạn là một: exe
Going to ask users to input a filename ie. Python.exe then print the file extension.
I tried to split the text and a number of issues for me so far. I'm using 2.7.
i.e. Please enter your filename: Python.exe
Your file extension is an: exe

def parseExtension (tên tệp):

Câu trả lời được đề xuất

Tốt nhất để sử dụng hệ điều hành mô -đun ...

''' file_splitext.py
get a given file's extension
'''

import os

filename = "myfile.exe"
name, extension = os.path.splitext(filename)
print("name = {}  extension = {}".format(name, extension))

''' result ...
name = myfile  extension = .exe
'''

Nhảy để đăng

Tất cả 5 câu trả lời

rproffitt2.346 "Không có gì để xem ở đây." Người điều hành 2,346 "Nothing to see here." Moderator

7 năm trước

Được chỉnh sửa 7 năm trước bởi rproffitt

rproffitt2.346 "Không có gì để xem ở đây." Người điều hành 2,346 "Nothing to see here." Moderator

7 năm trước

Hướng dẫn convert filename to string python - chuyển đổi tên tệp thành chuỗi python

7 năm trước

Được chỉnh sửa 7 năm trước bởi rproffitt

if filename.strip('any')[-3:]: #Check if the filename no matter what it is report back 3 spots from the period.
        print filename[-3:]        #Print the filename 3 spaces from 0 to the right.
   filename.split('.')            #Split the filename from the 'period'.  

Hướng dẫn convert filename to string python - chuyển đổi tên tệp thành chuỗi python

Ya tôi đã thấy rằng Ty, tôi đã không sử dụng GUI và cần nó với một chức năng nhưng tôi đã thấy điều đó trước đây và phát hiện ra tôi đã làm như thế nào như thế này: 1,735 DaniWeb's Hypocrite Team Colleague

7 năm trước

Tốt nhất để sử dụng hệ điều hành mô -đun ...

''' file_splitext.py
get a given file's extension
'''

import os

filename = "myfile.exe"
name, extension = os.path.splitext(filename)
print("name = {}  extension = {}".format(name, extension))

''' result ...
name = myfile  extension = .exe
'''

Hướng dẫn convert filename to string python - chuyển đổi tên tệp thành chuỗi python

7 năm trước

Nhảy để đăng

Tất cả 5 câu trả lời

rproffitt2.346 "Không có gì để xem ở đây." Người điều hành

Được chỉnh sửa 7 năm trước bởi rproffitt

Ở đây, điều này sẽ bao gồm tất cả các căn cứ. Nó xử lý tất cả các loại vấn đề cho bạn, bao gồm (nhưng không giới hạn quá) thay thế ký tự.

Hoạt động trong Windows, *Nix và hầu hết mọi hệ thống tệp khác. Chỉ cho phép các ký tự có thể in.

def txt2filename(txt, chr_set='normal'):
    """Converts txt to a valid Windows/*nix filename with printable characters only.

    args:
        txt: The str to convert.
        chr_set: 'normal', 'universal', or 'inclusive'.
            'universal':    ' -.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
            'normal':       Every printable character exept those disallowed on Windows/*nix.
            'extended':     All 'normal' characters plus the extended character ASCII codes 128-255
    """

    FILLER = '-'

    # Step 1: Remove excluded characters.
    if chr_set == 'universal':
        # Lookups in a set are O(n) vs O(n * x) for a str.
        printables = set(' -.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')
    else:
        if chr_set == 'normal':
            max_chr = 127
        elif chr_set == 'extended':
            max_chr = 256
        else:
            raise ValueError(f'The chr_set argument may be normal, extended or universal; not {chr_set=}')
        EXCLUDED_CHRS = set(r'<>:"/\|?*')               # Illegal characters in Windows filenames.
        EXCLUDED_CHRS.update(chr(127))                  # DEL (non-printable).
        printables = set(chr(x)
                         for x in range(32, max_chr)
                         if chr(x) not in EXCLUDED_CHRS)
    result = ''.join(x if x in printables else FILLER   # Allow printable characters only.
                     for x in txt)

    # Step 2: Device names, '.', and '..' are invalid filenames in Windows.
    DEVICE_NAMES = 'CON,PRN,AUX,NUL,COM1,COM2,COM3,COM4,' \
                   'COM5,COM6,COM7,COM8,COM9,LPT1,LPT2,' \
                   'LPT3,LPT4,LPT5,LPT6,LPT7,LPT8,LPT9,' \
                   'CONIN$,CONOUT$,..,.'.split()        # This list is an O(n) operation.
    if result in DEVICE_NAMES:
        result = f'-{result}-'

    # Step 3: Maximum length of filename is 255 bytes in Windows and Linux (other *nix flavors may allow longer names).
    result = result[:255]

    # Step 4: Windows does not allow filenames to end with '.' or ' ' or begin with ' '.
    result = re.sub(r'^[. ]', FILLER, result)
    result = re.sub(r' $', FILLER, result)

    return result

Giải pháp này không cần thư viện bên ngoài. Nó thay thế các tên tệp không thể in cũng vì chúng không phải lúc nào cũng đơn giản để đối phó.

Làm cách nào để chuyển đổi một tệp thành một chuỗi trong Python?

Nói chung, để đọc nội dung tệp dưới dạng chuỗi, hãy làm theo các bước này ...
Mở tệp ở chế độ đọc. Gọi hàm mở () hàm với đường dẫn tệp làm đối số. ....
Phương thức gọi () trên đối tượng tệp. Read () Phương thức trả về toàn bộ nội dung của tệp dưới dạng chuỗi ..
Đóng tệp bằng cách gọi phương thức đóng () trên đối tượng tệp ..

Làm cách nào để lấy tên tệp của một chuỗi trong Python?

Chương trình Python để lấy tên tệp từ đường dẫn tệp..
Nhập hệ điều hành # Tên tệp với phần mở rộng file_name = os.path.basename ('/root/file.ext') # Tên tệp không có phần mở rộng in (os.path.splitext (file_name) [0]) Chạy mã ..
Nhập bản in hệ điều hành (Os.Path.SpliteXt (File_Name)) ....
từ Pathlib Nhập đường dẫn PRINT (đường dẫn ('/root/file.ext'). Thân cây).

Làm cách nào để đọc một tên tệp trong Python mà không có phần mở rộng?

Nhận tên tệp mà không cần gia hạn trong Python..
Sử dụng hệ điều hành.đường dẫn.hàm splitext ().Giải pháp tiêu chuẩn là sử dụng HĐH.....
Sử dụng str.hàm rsplit ().Ngoài ra, bạn có thể sử dụng str.hàm rsplit () để phân chia trong giai đoạn cuối.....
Sử dụng pathlib.Đường dẫn.chức năng thân () ..

Làm thế nào để bạn chia một tên tệp và phần mở rộng trong Python?

Chúng ta có thể sử dụng hàm module splitext () của Python OS để có được phần mở rộng tệp.Hàm này chia đường dẫn tệp thành một tuple có hai giá trị - root và phần mở rộng.use Python os module splitext() function to get the file extension. This function splits the file path into a tuple having two values - root and extension.