笨办法学习python3练习代码:argv参数变量与文件操作
ex15.py
完成ex15.py需要在ex15.py同文件夹目录下面准备一个txt文件(ex15_sample.txt)
执行ex15.py 如: python ex15.py ex15_sample.txt。则可以读取 ex15_sample.txt这个文件的内容
读取文件的基本操作:
- 打开一个文件,如txt = open(filename)
- 读取文件,如txt.read()
- 对文件操作完,一定要关闭文件,如txt.close()
与文件操作有关的一些函数
- close:关闭文件
- read:读取文件的内容,可以把结果赋值给一个变量
- readline:只读取文本文件的一行
- truncate(缩短的意思):清空文件,小心使用该命令
- write("stuff"):将"stuff"写入文件
- seek(0):将读写位置移动到文件开头
from sys import argv
#sys是一个软件包,把argv这个特性(或者叫模块、方法)插入到代码中
script, filename = argv #filename 是要选择读取的文件名,在这里是ex15_sample.txt #读取文件第一步,打开文件
txt = open(filename)
print(f"Here's your file {filename}:") #读取文件第二步,读文件并打印
print(txt.read())
#文件处理完,一定要关闭
txt.close() print("Type the filename again:") #input中“>”是提示符,打印出来就是>;用户输入的字符串会赋给变量file_again
file_again = input("> ")
txt_again = open(file_again)
print(txt_again.read())
#文件处理完,一定要关闭
txt_again.close()
ex16.py
#close:关闭文件
#read:读取文件的内容,可以把结果赋值给一个变量
#readline:只读取文本文件的一行
#truncate(缩短的意思):清空文件,小心使用该命令
#write("stuff"):将"stuff"写入文件
#seek(0):将读写位置移动到文件开头 from sys import argv
script, filename = argv #filename = ex15_sample.txt
print(f"We're going to erase {filename}.") #erase :清除的意思 print("if you don't want that, hit CTRL-C {^C}.") # hit 点击,打击的意思
print("if you do want that,hit RETURN.") input("?")
print("Opening the file...")
target = open(filename,'w') #open for writing,truncating the file first
print("Truncate the file. Goodbye!") #清空文件
target.truncate() print("Now I'm going to ask you for threes lines.")
line1 = input("line 1: ")
line2 = input("line 2: ")
line3 = input("line 3: ") print("I'm going to write these to the file.")
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
#一行一行接着写入 print("And fianlly,we close it. ")
target.close()
ex17.py
注意事项:不要用echo方法创建txt文件,用echo命令会出错。直接在python3文件夹里面创建txt即可。也就是在运行代码之前直接在python3文件夹里面创建ex17_from.txt和ex17_to.txt两个文件。同时要在ex17_from.txt中写入一些东西(可随意写一些东西),才有内容从ex17_from.txt可以复制到ex17_to.txt中。
'''
把ex17_from.txt的内容 读取出来写入到ex17_to.txt 文件中
1.打开ex17_from.txt文件,默认读方式打开
2.读取文件数据
3.关闭ex17_from.txt文件 1.打开ex17_to.txt文件,默认读方式打开,改成写方式打开
2.写入数据
3.关闭ex17_to.txt文件 ''' from sys import argv
from os.path import exists #exist(存在的意思) script, from_file, to_file = argv
print(f"coping from {from_file} to {to_file}")
in_file = open(from_file)
indata = in_file.read()
print(f"The input file is {len(indata)}bytes long") print(f"Does the output file exists? {exists(to_file)} ") #exist(存在的意思)
print("Ready,hit RETURN to continue, CTRL-C to abort.")
input()
in_file.close() out_file = open(to_file,'w')
out_file.write(indata) print("Alright, all done.") out_file.close()
笨办法学习python3练习代码:argv参数变量与文件操作的更多相关文章
- 笨办法学习python3练习代码ex20.py 函数和文件
注意,还要在python3,就是ex20.py的同目录里面直接创建一个ex20.txt的文件.里面至少要有三行内容 #函数和文件 #readline:只读取文本文件的一行 #seek(0):将读写位置 ...
- 笨办法学习Python3练习代码1-10
ex1.py print("hello world!",end = " ")#不换行 print("hello again") print( ...
- 笨办法学python3练习代码13-14:argv参数变量的学习
ex13.py argv参数的学习 #argv:参数变量(argument variable),这是一个标准的编程术语,在其他语言中也可可以看到.argument可译为: 参数 #如果参数是用户在执 ...
- IOS学习之IOS沙盒(sandbox)机制和文件操作
IOS学习之IOS沙盒(sandbox)机制和文件操作(一) 1.IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都 ...
- iOS学习之iOS沙盒(sandbox)机制和文件操作1
iOS学习之iOS沙盒(sandbox)机制和文件操作 接上篇 iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 我们看看如何获取应用程序沙盒目录.包括真机的沙盒的目录. 1.获取程序的H ...
- Python3基础(3)集合、文件操作、字符转编码、函数、全局/局部变量、递归、函数式编程、高阶函数
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- python学习之路-3 初始python数据类型以及文件操作
本篇涉及内容 set集合 函数 三元运算 文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- Unity3D学习笔记(二十五):文件操作
文件是什么? 存储在硬盘上的最后的节点. 文件夹是什么? 文件的上级单位称为文件夹. 文件夹的基本结构? 文件夹是层级化结构的,对于同级的文件夹不可以重名,父文件夹和子文件夹可以同名> IO:I ...
- Python小白学习之路(十九)—【文件操作步骤】【文件操作模式】
一.文件操作步骤 step1:打开文件,得到文件句柄并赋值给一个变量step2:通过句柄对文件进行操作step3:关闭文件 举例: a = open('hello world', 'r', encod ...
随机推荐
- arm64-v8a 静态成员模板 undefined reference to
谷歌发布新包需要64位的so Application.mk 中 APP_ABI := armeabi armeabi-v7a x86 x86_64 arm64-v8a 添加了 arm64-v8a 和 ...
- PHP一维数组快速去重、去零
1.一维数组去重: /** * 一维数组去重,返回格式为索引数组 * @param array $data 待去重的数组 * @return array */ public static functi ...
- Resolve Error While Windows 10 Updating Cross Multiple Updating Versions (Such as Error 0x800f0831 when Update KB4556799) | 解决跨多个更新版本升级Windows 10时遭遇错误的问题(如 KB4556799 / 错误0x800f0831)
Upgrade memory size for a laptop recently, the OS on the laptop was Windows 10 with a version of 201 ...
- 【Python篇】工厂模式
工厂方法模式 前言 在<设计模式>一书中工厂模式提到了: 工厂方法模式(Factory Method) 抽象工厂模式 (Abstract Factory) 但是在实际过程中还有一种工厂模式 ...
- Python 数字格式转换
# 数字格式转换v1 '''a = input() a1 = list(a) b = ["零", "一", "二", "三&quo ...
- CSS-好玩的样式(用高斯模糊制作平缓突起)
一.效果图: 应用: 二.上代码 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- Java常用API(ArrayList类)
Java常用API(ArrayList类) 我们为什么要使用ArrayList类? 为了更加方便的储存对象,因为使用普通的数组来存储对象太过麻烦了,因为数组的一个很大的弱点就是长度从一开始就固定了,所 ...
- 带Boolean类型的参数的接口用postman测试时传参问题
带Boolean类型的参数的接口用postman测试时传参问题 @Data public class ATest { private Boolean isCommit; } postman 测试时传参 ...
- CondenseNet:可学习分组卷积,原作对DenseNet的轻量化改造 | CVPR 2018
CondenseNet特点在于可学习分组卷积的提出,结合训练过程进行剪枝,不仅能准确地剪枝,还能继续训练,使网络权重更平滑,是个很不错的工作 来源:晓飞的算法工程笔记 公众号 论文:Neural ...
- 167两数之和II-输入有序数组
from typing import List# 这道题很容易能够想到,只需要遍历两边列表就可以了# 两层循环class Solution: def twoSum(self, numbers: Lis ...