【농담 앱】 깨진 파일을 생성하는 도구

소개



대학의 과제가 끝나지 않는다. 그런 일이 있습니까?
그럴 때 도움이 되는 툴을 개발했습니다.
(농담 어플입니다. 이 어플의 사용에 의해 일어난 트러블에 우리는 책임을 지지 않습니다.)

개요



확장자, 파일 사이즈, 파일명을 지정하는 것으로, 마치 제출할 때에 망가져 버린 것 같은 파일을 작성합니다. 마감일에 늦지 않아도 일단 내놓았다는 기성사실을 얻을 수 있는 것이 아닐까요?
그런 코드를 소개합니다.
우선은 병아리인 main 함수를 작성해, 거기로부터 문자 깨 만들기용의 함수를 import 하는 것으로 동작하는 구조입니다.

main.py
import os.path
import mojibake as moji

def main(func):
    file_name = input("ファイル名を入力してください:")
    ext = input("拡張子を入力してください:")
    size = float(input("ファイルサイズを入力してください(MB):"))

    size *= 1024 ** 2
    file_size = 0

    while(size > file_size):
        file = file_name + '.' + ext
        f = open(file, "a")
        f.write(func)
        f.write('\n')
        file_size = os.path.getsize(file)
    f.close()

if __name__ == '__main__':
    main(moji.yabainari)


이 기능은 import한 함수에 인수를 주는 프로그램이므로 깨진 알고리즘인 패키지는 스스로 준비할 필요가 있습니다. main에 해당하는 인수를 바꾸어 즐기세요.
문자 깨진 알고리즘의 작성 예를 2개 썼습니다.

예 1



다이버전스 1%의 건너편에 가지 말고, 과제 제출할 수 없었던 사람이 사용해 주세요.

mojibake.py
def suzuha(size, file):

    s = '失敗した' # 任意の文字列
    s_size = 18  # 文字列のbyte数

    with open(file, 'w', encoding='utf-8') as f:
        i = 0 
        while size > i:
            f.write(s)
            i += s_size
        else:
            f.write('わたしは失敗した') # 任意の文字列にするときはelse文をコメントアウト


이 코드의 출력 결과를 텍스트 편집기에서 살펴 보겠습니다.



마지막만 처리를 바꾸고 있기 때문에, 다소 파일 사이즈는 바뀝니다. 대략적인 크기가 있으면 좋을 것입니다.
pdf 뷰어에서 열면 이런 느낌입니다.



확실하게 깨졌습니다.
메모장에서 열리면 실패한 곳이 아니라 여러 가지로 끝납니다.
임의의 문자열과 그 크기로 다시 쓰면 좋아하는 단어로 파일을 채울 수 있지만, 교수에게의 욕설 등은 절대로 그만둡시다. 

예 2



예 1에서는 문자 화라고 하는 것보다, 텍스트 파일을 확장자를 바꾸어 열는 것으로, 마치 부서지고 있는 것처럼 보이는 코드였습니다. 예제 2에서는 보다 현실적인 깨짐을 유발하는 프로그램을 만들었습니다. 그런 코드가 여기입니다!

mojibake.py

def yabainari(size, file):
    import struct, random

    with open(file, 'wb') as f:
        for i in range(0, int(size)):
            f.write(struct.pack('B', random.randint(0, 255)))

무작위 비트 열을 만들고 바이너리 모드로 쓰면 깨짐이 발생합니다.

실제로 출력 결과를 텍스트 편집기에서 살펴 보겠습니다.



완벽하네요. 물론 pdf 뷰어에서도 열 수 없습니다.

요약



이런 코드 쓰고 있을 여유가 있으면 과제에 걸리자.
이 코드는 github에 포함되어 있습니다 -> htps : // 기주 b. 코 m / 요 h333 / b 로켄 _ 마케 r

마지막으로 한마디…

과제는 기한 내에! (계명)

 

좋은 웹페이지 즐겨찾기