Python File Handling Interview Questions

50 most frequently asked Python File Handling interview questions.

1. How do you open and close files in Python?

Answer: You can open files using the open() function and close them using the close() method.

2. Explain the modes for file opening in Python.Answer: File opening modes include:

  • r: Read (default mode)
  • w: Write (creates a new file or truncates an existing one)
  • a: Append (creates a new file or appends to an existing one)
  • x: Exclusive creation (fails if the file exists)
  • b: Binary mode (e.g., ‘rb’ for reading a binary file)
  • t: Text mode (default, e.g., ‘rt’ for reading a text file)

3. What is the purpose of the with statement in file handling?

Answer: The with statement is used for context management, ensuring that files are properly opened and closed. It simplifies resource management and error handling.

4. How do you read and write text files in Python?

Answer: You can read text files using open() in ‘r’ mode and write to them using open() in ‘w’ or ‘a’ mode with read() and write() methods, respectively.

5. How can you check if a file exists in Python before opening it?

Answer: You can check if a file exists using the os.path.exists() function from the os module before attempting to open it.

6. Explain the difference between reading a file line by line and reading it all at once.

Answer: Reading a file line by line (readline()) reads one line at a time, conserving memory. Reading it all at once (read()) loads the entire file into memory.

7. What is the purpose of the seek() method in file handling?

Answer: The seek() method is used to change the file’s current position (cursor). You can seek to a specific byte offset or relative to the current position.

8. How do you handle encoding when reading and writing text files in Python?

Answer: You can specify the encoding when opening a file using the encoding parameter, like open('file.txt', 'r', encoding='utf-8').

9. What is the difference between binary and text mode when opening files?

Answer: Binary mode (b) treats the file as binary data, preserving newline characters. Text mode (t) processes the file as text, automatically handling newline conversions.

10. Explain the purpose of the flush() method in file handling.

Answer: The flush() method forces any buffered data to be written to the file. It’s useful when you want to ensure that data is written immediately.

11. How do you read the contents of a binary file in Python?

Answer: You can read the contents of a binary file using open() in binary mode (‘rb’) and then using methods like read() or readline().

12. What is the difference between read() and readline() when reading a file?

Answer: read() reads the entire file or a specified number of bytes, while readline() reads one line at a time.

13. How do you write to a specific line in a text file in Python?

Answer: To write to a specific line, you need to read the entire file, modify the desired line, and then write the modified content back to the file.

14. What is the purpose of the tell() method in file handling?

Answer: The tell() method returns the current file position (cursor) in bytes. It helps track the location within a file.

15. How can you read and write CSV files in Python?

Answer: You can use the csv module to read and write CSV files in Python. It provides functions like csv.reader() and csv.writer().

16. What is the difference between the readlines() and readline() methods when reading a file?

Answer: readlines() reads all lines in the file into a list, while readline() reads one line at a time.

17. How do you remove a file in Python?

Answer: You can remove a file using the os.remove() function from the os module.

18. Explain the purpose of the writelines() method in file handling.

Answer: The writelines() method writes a list of lines to a file. It’s used to write multiple lines at once.

19. What is the purpose of the truncate() method in file handling?

Answer: The truncate() method is used to resize a file to a specified size or truncate it at the current file position.

20. How do you copy a file in Python?

Answer: You can copy a file in Python by reading its contents and writing them to a new file.

21. What is the purpose of the os.path module in file handling?

Answer: The os.path module provides functions for working with file paths, checking file existence, and extracting file information.

22. How do you handle exceptions when working with files in Python?

Answer: You can use try...except blocks to handle exceptions, such as FileNotFoundError or IOError, that may occur when working with files.

23. What is the purpose of the os.rename() function in file handling?

Answer: The os.rename() function is used to rename files or directories in Python.

24. How do you append text to an existing file in Python?

Answer: You can append text to an existing file by opening it in append mode (‘a’) and using the write() method.

25. Explain the difference between absolute and relative file paths.

Answer: An absolute file path specifies the file’s location from the root directory, while a relative file path specifies the file’s location relative to the current working directory.

26.What is the purpose of the os.path.join() function in file handling?

Answer: The os.path.join() function is used to create platform-independent file paths by joining directory and file name components.

27. How can you read and write binary files in Python? 

Answer: You can read and write binary files in Python by using the ‘rb’ (read binary) and ‘wb’ (write binary) modes, respectively.

28. What is the difference between text and binary files in Python?

Answer: Text files contain human-readable characters, while binary files can contain any data and may not be human-readable.

29. How do you check if a file is a directory or a regular file in Python?

Answer: You can use the os.path.isdir() and os.path.isfile() functions to check if a path corresponds to a directory or a regular file.

 

30. What is the purpose of the os.path.isdir() and os.path.isfile() functions in Python file handling?

Answer: os.path.isdir() checks if a path is a directory, while os.path.isfile() checks if a path is a regular file.

31. How can you read and write JSON files in Python?

Answer: You can use the json module to read and write JSON files in Python. It provides functions like json.load() and json.dump().

32. What is the purpose of the os.path.exists() function in file handling?

Answer: os.path.exists() is used to check if a file or directory exists at a specified path.

33. How do you move a file in Python from one directory to another?

Answer: You can move a file using the shutil.move() function from the shutil module.

34. Explain the purpose of the os.getcwd() function in file handling.

Answer: os.getcwd() returns the current working directory, which is the directory where Python is currently executing.

35. What is the purpose of the os.makedirs() function in file handling?

Answer: os.makedirs() is used to create multiple directories in a specified path, including any necessary parent directories.

36. How do you read and write binary files in Python using the struct module?

Answer: You can use the struct module to pack and unpack binary data when reading and writing binary files in Python.

37. What is the purpose of the os.path.basename() function in file handling?

Answer: os.path.basename() extracts the base name (filename) from a path, ignoring the directory part.

38. How can you handle file permission errors in Python when opening files?

Answer: You can handle file permission errors using try...except blocks and catching PermissionError exceptions.

39. What is the purpose of the os.path.dirname() function in file handling?

Answer: os.path.dirname() extracts the directory part of a path, excluding the filename.

40. How do you create a symbolic link (symlink) to a file in Python?

Answer: You can create a symlink using the os.symlink() function.

41. What is the purpose of the os.path.abspath() function in file handling?

Answer: os.path.abspath() returns the absolute (full) path of a file or directory.

42. How do you change the permissions (chmod) of a file in Python?

Answer: You can change permissions using the os.chmod() function.

43. What is the purpose of the os.path.split() function in file handling?

Answer: os.path.split() splits a path into its directory and filename components.

44. How do you list files and directories in a directory using Python?

Answer: You can use the os.listdir() function to list files and directories in a directory.

45. What is the purpose of the os.path.splitext() function in file handling?

Answer: os.path.splitext() splits a path into its root and extension components.

46. How do you change the owner and group of a file in Python?

Answer: You can change the owner and group of a file using the os.chown() function.

47. What is the purpose of the os.path.getsize() function in file handling?

Answer: os.path.getsize() returns the size of a file in bytes.

48. How can you create a temporary file in Python using the tempfile module?

Answer: You can create a temporary file using the tempfile.mkstemp() function from the tempfile module.

49. What is the purpose of the os.path.isabs() function in file handling?

Answer: os.path.isabs() checks if a path is an absolute path (starts from the root directory).

50. How do you read and write binary files using the pickle module in Python?

Answer: You can use the pickle module to serialize and deserialize Python objects when reading and writing binary files. Use pickle.dump() to write and pickle.load() to read.