2016-09-30 3 views

답변

4

asksaveasfile 다음, 파일에 대한 사용자 요청 내가 문서에 빌드에서 이해할 수 없었다

tkFileDialog.asksaveasfile 

tkFileDialog.asksaveasfilename 

의 차이 무엇 이 파일을 쓰기 모드로 열고 그 파일을 쓸 수 있도록 반환합니다.

asksaveasfilename은 사용자에게 파일을 요청한 다음 해당 파일 이름을 반환합니다. 파일이 열리지 않았습니다. 파일에 쓰려면 직접 열어야합니다.

asksaveasfilenameasksaveasfile보다 선호 할 수 있습니다. 데이터를 쓰는 것보다 파일에 더 흥미로운 것을하고 싶다면. 예를 들어, 파일을 먼저 다른 디렉토리에 백업으로 복사하고자 할 수 있습니다. 어떤 경우에는 파일 이름을 가져 와서 파일을 열어도 복사가 실패할지 여부를 염려 할 필요없이 복사를 수행 할 수 있습니다.

유사에 : 다음 http://tkinter.unpythonic.net/ 위키에 따르면

+0

사실 저는 두 함수가 어쨌든 파일 이름을 묻습니다. 요점은 ** 새로운 ** 파일을 만드는 것입니다. . (그렇다면 왜 '사용자에게 파일을 요청합니까?'). 새 파일을 사용자 디스크에 쓰고 싶다면 asksaveasfile을 선호해야합니까? – user3599803

+0

@ user3599803 : Tkinter의'asksaveas ...'함수는 사용자가 기존 파일을 선택할 수 있도록 허용하지만, 존재한다면 파일을 덮어 쓸지를 묻는 경고창을 띄웁니다. 해봐 & 봐! –

+0

@Kevin 일단 파일이''w '' 모드로 열리면 이미 잘려서 버려졌습니다. 그러므로'asksaveasfile'을 사용하면 백업 할 기회가 없습니다. –

2

먼저 당신이 파일을 열려면 결정해야하거나에서 파일을 열기 위해 파일 이름을 얻을하려는 개인적인. 첫 번째 경우에는 tkFileDialog.askopenfilename()tkFileDialog.askopenfile()을 사용해야합니다. 다음

:

저장 파일은 비슷한 방식으로 작동합니다. 함수에는 두 가지 변종이 있습니다. 하나는 파일을 열 때 데이터를 저장할 수 있고 다른 하나는 파일 이름을 가져 와서 파일을 직접 열 수 있습니다. 이러한 기능은 단일 파일 버전에서만 제공됩니다. 다중 파일 버전은 의미가 없습니다.

+0

사용자 디스크에 새 파일을 쓰고 대화 상자에서 폴더에 저장하도록해야합니다 – user3599803