笨办法学习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 ...
随机推荐
- efcore 跨表查询,实现一个接口内查询两个不同数据库里各自的表数据
最近有efcore跨库查询的需求,研究了下colder框架里文档的分库实现,发现并不能完全实现一个接口下的跨库查询请求,只能满足一个业务层构造指定的唯一一个数据库访问接口. 先说下文档是怎么实现的 D ...
- 攻防世界/强网杯 2019-supersqli
靶场地址:https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=1&id=5417&page= ...
- bzoj2295【POJ Challenge】我爱你啊*
bzoj2295[POJ Challenge]我爱你啊 题意: 求一个字符串中有多少个"luvletter"(不包括引号).字符串长度≤100000. 题解: 连kmp都不用…… ...
- Burp Suite Compare Module - 对比模块
虚拟目标网站: http://10.0.0.15/orangehrm/login.php (RangeHRM) - 可以通过OWASP虚拟机搭建此网站 模拟攻击步骤: 1. 通过设置浏览器代理 ...
- Getting Started with Recovery Manager (RMAN) (文档 ID 360416.1)
In this Document Purpose Scope Details Overview of the RMAN EnvironmentDeciding Whether to Use a Fla ...
- 用Python把20年的GDP、人口以及房价数据进行了可视化
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:CDA数据分析师 提到一线城市,大家马上会想到北上广深这四个超级大都 ...
- echarts 实战 : 图表竖着或横着是怎样判定的?
这个问题比较简单. echarts 的图表默认是竖着的. 只要 xAxis 和 yAxis 互换,竖着的图就变成了横着的图了. 所以我们可以可以写一个xy轴互换的方法. reverseXYAxis = ...
- reCAPTCHA无法加载?一个小工具就可以轻松解决!
Chrome用户可以在应用商店搜索gooreplacer安装,或者点我下载,然后打开chrome://extensions/,将下载的crx文件拖入浏览器窗口,即可完成安装 Firefox用户可以在 ...
- STL源码剖析:仿函数
仿函数就是函数对象 函数对象: 重载了operator()的类对象 使用起来和普通函数一致,所以称为函数对象或是仿函数 STL中对于仿函数的参数进行了特殊处理,定义了两个特殊类,类里面只有类型定义 一 ...
- C++语法小记---继承中的构造和析构顺序
继承中构造和析构的顺序 先父母,后客人,最后自己 静态变量和全局变量在最开始 析构和构造的顺序完全相反 #include <iostream> #include <string> ...